Commit Graph

72 Commits

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