Commit Graph

186 Commits

Author SHA1 Message Date
greg
072eab1a80 Thread debug opts around where they need to be 2018-07-26 00:52:46 -07:00
greg
55a8cabd7c Some basic pattern stuff 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
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
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
greg
c65907388d Some ADT work 2018-07-26 00:52:46 -07:00
greg
33c22c8bbc Typecheck values 2018-07-26 00:52:46 -07:00
greg
4a27af2136 Add a super-basic test 2018-07-26 00:52:46 -07:00
greg
07af54b78a More work 2018-07-26 00:52:46 -07:00
greg
c4666b82ec Basics 2018-07-26 00:52:46 -07:00
greg
274dd1ccb0 Basic stuff 2018-07-26 00:52:46 -07:00
greg
70ec79c4b3 Lol starting over from scratch again
H-M is hard :/
2018-07-26 00:52:46 -07:00
greg
f88d2331e3 printf debugs for problems with function typing 2018-07-26 00:52:46 -07:00
greg
c8f961abbf Functions 2018-07-26 00:52:46 -07:00
greg
d040d76bfa Start handling function case 2018-07-26 00:52:46 -07:00
greg
887ba46b0b Fix this thing 2018-07-26 00:52:46 -07:00
greg
a80db9e4c2 Debug types
WIP
2018-07-26 00:52:46 -07:00
greg
c986233a95 Adding bindings seems to work?
I'm playing real fast and loose though
2018-07-26 00:52:46 -07:00
greg
bb29df4a73 Variable binding insertion infrastructure 2018-07-26 00:52:46 -07:00
greg
4db3595d7c More work on variables 2018-07-26 00:52:46 -07:00
greg
217ee73fc9 Literals 2018-07-26 00:52:46 -07:00
greg
93309c025e Some work 2018-07-26 00:52:46 -07:00
greg
b67512a9e1 Add Infer struct 2018-07-26 00:52:46 -07:00