Commit Graph

43 Commits

Author SHA1 Message Date
greg 0dd6b26e5a Move where PrefixOp lives 2019-08-13 04:17:17 -07:00
greg 7ae41e717d Switch away from string builtins 2019-08-12 14:10:07 -07:00
greg e750247134 Successfully constructing a record
Not yet destructing it
2019-08-12 12:46:18 -07:00
greg a8efe40b57 Add some documentation for the reduced AST 2019-08-12 11:55:35 -07:00
greg c9bfa2b540 More named struct reduction work 2019-08-12 11:40:16 -07:00
greg a600d34712 More work on named struct
commented for now becuase I need to fix things in the symbol table
2019-08-12 10:59:04 -07:00
greg 3b19fc5aa9 Barest beginning of named struct implementation 2019-08-05 03:35:10 -07:00
greg ee87695626 Simplify Alternative data structure
Most of the subfields are duplicated on Subpattern so just use that
directly
2019-07-30 01:33:09 -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 bc01a5ded8 Make reduced ast call handler be a separate method 2019-06-16 00:21:39 -07:00
greg 40579d80ce More work on args
not quite done
2019-06-12 03:28:46 -07:00
greg 6da6f6312d Remove more unused code 2019-05-20 22:04:14 -07: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 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 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 282c42da3c Adding Node intermediate type to AST 2019-01-05 01:44:32 -08:00
greg c6b4ed7ee4 Basic lambdas 2018-11-06 01:19:16 -08:00
greg be425860af Starting on lambdas 2018-11-05 21:13:31 -08:00
greg c394b81746 More pattern-matching 2018-11-05 04:02:04 -08:00
greg ec29077247 More tuple-matching
Also discovered parser bug
2018-11-05 03:41:03 -08:00
greg bada386979 More work on subpattern matching 2018-11-03 12:53:09 -07:00
greg cab4702bd6 Refactoring matching - WIP
doesn't work yet
2018-11-01 02:43:47 -07:00
greg ec5a9d457e String patterns 2018-10-31 01:45:16 -07:00
greg bfbc1580aa Make tag optional 2018-10-30 23:36:55 -07:00
greg 2d6c9010b9 More work here 2018-10-30 18:53:34 -07:00
greg f4ff92302f Use subpattern abstraction 2018-10-30 18:46:06 -07:00
greg e88ed97b06 Add subpattern struct 2018-10-30 18:39:25 -07:00
greg b8df09e956 Change eval strategy to use conditional sigil 2018-10-29 01:50:43 -07:00
greg d7f0147a4f Add conditional target placeholder expr 2018-10-28 12:45:45 -07:00
greg 4679a9fc7f Remove compiler warnings 2018-10-20 00:55:37 -07:00
greg fef66e345b Subpattern field 2018-10-19 17:43:22 -07:00
greg e57d33eae7 More work on more patterns
-need to convert guard into a possibly-empty vec
2018-10-19 17:27:06 -07:00
greg dca9ad06c3 Handle HalfExpr closer to correct 2018-10-19 11:02:10 -07:00
greg dff204069f Starting to implement Ignored pattern 2018-10-18 01:54:36 -07:00
greg 3b20b9e209 Put schala-lang crates into a subdirectory 2018-10-17 14:51:48 -07:00