Commit Graph

37 Commits

Author SHA1 Message Date
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