greg
8b6de6961f
ItemId type
2019-09-18 01:52:43 -07:00
greg
3eaeeb5509
Begin deprecating Meta in favor of an ItemId
2019-09-17 14:32:15 -07:00
greg
b91c3c9da5
Change design of Statement AST node
2019-09-17 02:25:11 -07:00
greg
08da787aae
Make AST a struct
2019-09-11 19:25:12 -07:00
greg
9a28ccfd85
Tests compile again
2019-09-07 19:08:50 -07:00
greg
ea542192be
Temp qualified names work
2019-09-06 17:19:41 -07:00
greg
79635f2f86
Add Meta annotation to QualifiedName
2019-09-06 10:03:50 -07:00
greg
c04e4356a1
Changing how patterns work
...
to support qualified names in patterns
2019-09-04 10:53:52 -07:00
greg
24e0ecbe73
partial work
2019-09-03 21:14:12 -07:00
greg
fd66a9711d
More work on fully-qualified names
2019-09-03 10:23:38 -07:00
greg
a5c9aca4d7
Halfway done with fqsn lookup pass initial work
2019-09-03 03:20:17 -07:00
greg
724237545f
Start work on scope resolver
2019-09-03 02:19:37 -07:00
greg
b4da57f5c5
Make Meta<Expression> exist everywhere it needs to
2019-09-02 14:41:09 -07:00
greg
8b87945bee
Wrap remaining Expressions in Meta
2019-09-02 14:13:53 -07:00
greg
34abb9b081
Start work on qualified names
2019-08-31 23:39:01 -07:00
greg
063a13f7ff
Move BinOp into ast subcrate
...
now builtins is only builtin semantics and has nothing to do with
operators
2019-08-15 06:28:40 -07:00
greg
fde169b623
Make operators live in a submodule of ast
...
Starting with PrefixOp, BinOp happens next
2019-08-14 07:25:45 -07:00
greg
0dd6b26e5a
Move where PrefixOp lives
2019-08-13 04:17:17 -07:00
greg
d67ccf5c7a
Refactor Expression struct
...
to have explicit kind and type_anno fields, to make it clearer
that this represents source-code level annotation and not any kind
of type inference intermediate product
2019-07-10 18:52:25 -07:00
greg
33c2786ea1
More complicated FormalParam type
2019-06-16 14:56:52 -07:00
greg
fa1257e2cd
Starting work on more complicated call expressions
...
Probably won't build yet
2019-06-12 00:20:20 +00:00
greg
f041cc17d2
Wrap all Expression nodes in Meta<Expression>
2019-02-21 23:35:18 -08:00
greg
b35262c444
Rename Node -> Meta
2019-02-21 01:49:15 -08:00
greg
9bb3a2be88
Add type data handle on Node
...
I think the way I want to handle this is a two-step process: first infer and
fill in variables, then unfiy in a separate step. Storing the data in
the AST is handy.
2019-02-21 01:46:27 -08:00
greg
9fa0576547
Rename ExpressionType -> ExpressionKind
2019-02-21 01:26:51 -08:00
greg
a6eb2b4020
Allow type annotations in let expressions
2019-02-20 22:44:45 -08:00
greg
c225e469ee
Change Record variant representation
2019-01-24 20:47:20 -08:00
greg
ee7861cbd0
Fix how impl blocks work
...
This gets rid of a token-less parseerror
2019-01-08 00:51:56 -08:00
greg
30676722a3
Transition to edition 2018
2019-01-07 13:00:37 -08:00
greg
821f321261
More Node-wrapping of Expression
2019-01-05 18:11:51 -08:00
greg
2efac109ef
Node for TupleLiteral
2019-01-05 16:06:55 -08:00
greg
215e2bbb0d
PrefixOp have Node
2019-01-05 16:02:30 -08:00
greg
2590def3be
More Node-wrapping
2019-01-05 15:54:03 -08:00
greg
879a7de83d
Wrap Expression in Node
2019-01-05 15:47:44 -08:00
greg
4c2e0b8a21
Get rid of old code from old ideas
2019-01-05 15:35:51 -08:00
greg
282c42da3c
Adding Node intermediate type to AST
2019-01-05 01:44:32 -08:00
greg
26a8ff307f
Add generic Node type
2018-11-20 03:21:10 -08:00
greg
0af6fed505
Clear up some code a bit
2018-11-17 01:10:23 -08:00
greg
b198984fc5
implement From for Expression-types
2018-11-16 14:06:04 -08:00
greg
5953d9d815
type annotations on lambdas
2018-11-05 19:10:34 -08:00
greg
5f8b842bf2
Delete newline
2018-10-20 00:22:41 -07:00
greg
4b9c7e38dd
Rename TypeName -> TypeIdentifier
2018-10-18 13:27:09 -07:00
greg
3b20b9e209
Put schala-lang crates into a subdirectory
2018-10-17 14:51:48 -07:00