Commit Graph

1933 Commits

Author SHA1 Message Date
greg
65c2cd521b Mutable types
This bit of syntax is meant for extendable enum types
2018-07-26 00:52:46 -07:00
greg
f7dbbddad1 Let and let mut syntax 2018-07-26 00:52:46 -07:00
greg
43ff08b04c Add some debugging info around parse error 2018-07-26 00:52:46 -07:00
greg
00692aa89e Support for underscores 2018-07-26 00:52:46 -07:00
greg
0ec29f6dd0 Fix repl 2018-07-26 00:52:46 -07:00
greg
5e48eb2dee Broken - some pass abstraction work 2018-07-26 00:52:46 -07:00
greg
3597ad4eef Compact parsing 2018-07-26 00:52:46 -07:00
greg
072eab1a80 Thread debug opts around where they need to be 2018-07-26 00:52:46 -07:00
greg
1761d11d36 Infrastructure for adding more debug options 2018-07-26 00:52:46 -07:00
greg
d075f613f9 Hook help messages into command data structure 2018-07-26 00:52:46 -07:00
greg
ee55729d5f Halfway through implementing help text on CommandTree 2018-07-26 00:52:46 -07:00
greg
17a4028185 Generate commandtree on repl 2018-07-26 00:52:46 -07:00
greg
947f4f2ea6 Command heirarchy for tab completion 2018-07-26 00:52:46 -07:00
greg
41c9dfae06 Some more tab completion work 2018-07-26 00:52:46 -07:00
greg
fe1a508e25 Switch back to line feed for better tab completion 2018-07-26 00:52:46 -07:00
greg
55a8cabd7c Some basic pattern stuff 2018-07-26 00:52:46 -07:00
greg
46b6aeb4db Add note to check out Gluon 2018-07-26 00:52:46 -07:00
greg
3c022fc4ef Clarified BNF 2018-07-26 00:52:46 -07:00
greg
0a02c21e70 Some more Patterns work
-at first brush, a pattern is like a single Variant with a list of free
vars
2018-07-26 00:52:46 -07:00
greg
927f427a86 Starting work on patterns 2018-07-26 00:52:46 -07:00
greg
005aba7a10 Test alt form 2018-07-26 00:52:46 -07:00
greg
7882e92ab5 Fix old style if 2018-07-26 00:52:46 -07:00
greg
f582ab4eaa Test for new style parsing 2018-07-26 00:52:46 -07:00
greg
f2dce38647 Broken, but compiling, move to new if paradigm 2018-07-26 00:52:46 -07:00
greg
ba4cd9da39 Kill match keyword + data structures
And add new unified keywords
2018-07-26 00:52:46 -07:00
greg
ba319a7bc3 Finally figured out unified condition syntax 2018-07-26 00:52:46 -07:00
greg
2d052d34f7 More thinking 2018-07-26 00:52:46 -07:00
greg
654eeef428 Clarified grammar BNF some 2018-07-26 00:52:46 -07:00
greg
a96fbc9592 Fix match expression parsing 2018-07-26 00:52:46 -07:00
greg
196954326e Print bare data constructor 2018-07-26 00:52:46 -07:00
greg
3f2fff276c Constructor eval 2018-07-26 00:52:46 -07:00
greg
e6679ff523 Playing around with conditional syntax 2018-07-26 00:52:46 -07:00
greg
ebcea685f3 Fix looking up functions 2018-07-26 00:52:46 -07:00
greg
3b9084810e Add constructor reduced ast node; fix test 2018-07-26 00:52:46 -07:00
greg
7809cda240 Pass symbol_table to ast reduce
To distinguish between values and data constructors
2018-07-26 00:52:46 -07:00
greg
f1679e83b7 Start trying to fix tests 2018-07-26 00:52:46 -07:00
greg
f98d8e2bb0 Move AST into its own module 2018-07-26 00:52:46 -07:00
greg
d0a0cc8209 Rename ast_reducing -> reduced_ast 2018-07-26 00:52:46 -07:00
greg
5aa0e10e7a Some ADT work 2018-07-26 00:52:46 -07:00
greg
27729cefdf Some improvements to the thing 2018-07-26 00:52:46 -07:00
greg
df76e7c120 Pretty-print type table 2018-07-26 00:52:46 -07:00
greg
889610f0b0 Pretty-print Symbol Table 2018-07-26 00:52:46 -07:00
greg
3beabf4678 Start eval-ing data constructors 2018-07-26 00:52:46 -07:00
greg
25790f8643 Added super-janky prelude capability 2018-07-26 00:52:46 -07:00
greg
ff5446af3f Add symbols from symbol table into global type context 2018-07-26 00:52:46 -07:00
greg
5d84153c9e Want bin expressions typed soon 2018-07-26 00:52:46 -07:00
greg
0b0f6b6b50 Symbol table handles functions better 2018-07-26 00:52:46 -07:00
greg
856a360aba Types need handle to symbol table 2018-07-26 00:52:46 -07:00
greg
81ca9ee20f Add some data structures back 2018-07-26 00:52:46 -07:00
greg
4caf8096b3 Add Scheme, TypeEnv, Substitution data structs 2018-07-26 00:52:46 -07:00