Commit Graph

1236 Commits

Author SHA1 Message Date
greg 5a91957fa1 Some incomplete parse work 2018-07-26 00:52:46 -07:00
greg 176d43e56f Remove old comment 2018-07-26 00:52:46 -07:00
greg 90ecde89c9 Mutable types 2018-07-26 00:52:46 -07:00
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