Commit Graph

16 Commits

Author SHA1 Message Date
645d41159b Remove unneeded parent class. 2020-06-18 23:06:13 -07:00
4a94d0e507 Add first draft of lambdas. 2020-06-14 02:00:20 -07:00
1e5d43e5e8 Properly handle null types in pattern typechecking. 2020-06-14 00:43:39 -07:00
33f8040886 Use mangled names in variable environments. 2020-06-13 23:43:52 -07:00
522d196446 Maybe finish the let/in code? 2020-06-01 00:23:41 -07:00
baf7427737 Start working on translation. 2020-05-31 18:52:52 -07:00
6d1be9527e Start working on a lifted version of a definition. 2020-05-31 14:37:33 -07:00
a78db7500f Adjust type output. 2020-05-31 00:50:58 -07:00
de08f0febf Mark some definitions as global, so as not to capture them. 2020-05-31 00:34:12 -07:00
dec6d834f5 No longer destroy the list of free variables.
It so happens that this list will tell us which variables
need to be captured.
2020-05-30 23:29:36 -07:00
feeee2039b Check for free variables in the environment before generalizing. 2020-05-30 16:40:27 -07:00
74f54abf5b Add parsing of let/in. 2020-05-28 14:44:12 -07:00
63f82a1c64 Add typechecking to let/in expressions. 2020-05-26 00:52:54 -07:00
35928b3a54 Extract ordering functionality into definition group. 2020-05-25 23:58:56 -07:00
5b6378c9e4 Add a struct to contain groups of mutually recursive definitions. 2020-05-25 22:11:45 -07:00
71bc55c696 Fork off the 12th version of the compiler. 2020-05-25 21:20:41 -07:00