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
0540df4024
Rename Val -> Sym
2019-08-30 19:10:16 -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
44ae10b7ae
Add todo note
2019-08-14 07:54:39 -07:00
greg
fa1544c71f
Fix eval of negatives
2019-08-14 07:31:59 -07:00
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