Commit Graph

80 Commits

Author SHA1 Message Date
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
fa19fa2792 Build and test version 11 of the compiler instead of 10. 2020-04-26 21:28:34 -07:00
5049b81536 Update to LLVM 10. 2020-04-26 21:24:24 -07:00
f97d3f913c Add missing arity checks to compiler series 2020-04-14 19:21:33 -07:00
9d16d3840a Make compiler check for arity in part 11 of compiler series. 2020-04-14 16:20:12 -07:00
9fb9eec394 Finish draft of part 11 of compiler series 2020-04-14 16:19:54 -07:00
8cbe59b6b2 Rename inaccurately named rule 2020-04-14 15:58:25 -07:00
a18c30dca8 Update example to include polymorphism 2020-04-14 15:58:13 -07:00
50326ffcc3 Adjust grammar to allow for broader range of type inputs. 2020-04-13 23:17:34 -07:00
207efc7ded Make substitution replace types at every lookup step 2020-04-13 17:59:57 -07:00
2a936927a1 Integrate new types into the rest of the project 2020-04-13 17:12:43 -07:00
379a64f379 Add parsed type data structure, type application and arity. 2020-04-13 17:08:03 -07:00
682e0d3e1c Fork off code for part 11 of compiler series. 2020-04-09 23:48:53 -07:00
2e0318347c Add seemingly missing string includes. 2020-04-09 16:26:10 -07:00
63601eaf40 Add missing source file 2020-03-25 03:36:17 -07:00
37921c4466 Remove debug output 2020-03-25 03:35:30 -07:00
08246f1474 Finalize draft of polymorphism post 2020-03-25 03:22:21 -07:00
de435d6c80 Switch to using type schemes and implement polymorphism in compiler series 2020-03-24 23:04:51 -07:00
e07da0c9b1 Implement new ordered typing in compiler series 2020-03-24 22:00:11 -07:00
c286c9edcc Separate definitions in compiler series 2020-03-24 21:08:06 -07:00
2e74291ac9 Switch type environment to using pointers 2020-03-24 18:04:01 -07:00
addfc2aa55 Only store type in case expression 2020-03-24 17:53:06 -07:00
9e14b2920c Explain graph code 2020-03-14 21:04:13 -07:00
ccac53854d Start work on algorithms in compiler post 10 2020-03-14 17:18:06 -07:00
90ed26ab39 Set up script to test latest compiler version 2020-03-10 22:26:02 -07:00
efadf17561 Fork into version 10 of the compiler for blog series 2020-03-10 20:58:26 -07:00
9e10eda41c Remove unused line at the end of works1.txt 2020-02-23 21:26:37 -08:00
972682969c Move testing code into a script 2020-02-11 18:37:21 -08:00
fc6621b8d1 Finish compiler series 2020-02-10 19:18:55 -08:00
b9f508db6a Add the primes program from compiler series 2020-02-10 18:13:04 -08:00
d86ff453bb Implement garbage collection in runtime 2020-02-06 11:32:19 -08:00
30579afc6d Track allocated nodes using a G-machine struct in compiler series. 2020-02-06 10:05:26 -08:00
ecc1091c0a Switch to single stack in runtime for Compiler Series 2020-01-31 15:29:12 -08:00
28e81cc9bd Update the compiler to leave the stack clean 2020-01-27 20:29:01 -08:00
0bc9ae320b Instantiate compiler for garbage collection 2020-01-27 14:52:25 -08:00
b5694b92bc Fix naming issue (this is really a compiler bug) 2019-12-05 19:36:47 -08:00
bc5b8507cb Fix incorrect CMakeLists.txt 2019-11-13 13:47:04 -08:00
9c34d48cdd Finish draft of post 8 in compiler series 2019-11-06 21:10:53 -08:00
f7b5bb48d1 Add the push operation in code in compiler series 2019-11-06 13:23:59 -08:00
9ca1b177ef Finish implementation of compiler 2019-11-06 12:52:42 -08:00
b3cee61b61 Factor out definition into separate file in compiler series 2019-11-05 10:40:51 -08:00
ba807cb7bc Start writing actual compillation code in compiler series 2019-11-05 00:42:33 -08:00
c44128315d Implement function and type creation, add text to blog in compiler series 2019-11-04 18:25:54 -08:00
70793d6ac3 Fix missing line in runtime header in compiler series 2019-11-04 13:30:18 -08:00