|
68910458e8
|
Properly handle null types in pattern typechecking.
|
2020-06-14 00:43:39 -07:00 |
|
|
240e87eca4
|
Use mangled names in variable environments.
|
2020-06-13 23:43:52 -07:00 |
|
|
6b5f7e25b7
|
Maybe finish the let/in code?
|
2020-06-01 00:23:41 -07:00 |
|
|
e7229e644f
|
Start working on translation.
|
2020-05-31 18:52:52 -07:00 |
|
|
08c8aca144
|
Start working on a lifted version of a definition.
|
2020-05-31 14:37:33 -07:00 |
|
|
7f8dae74ac
|
Adjust type output.
|
2020-05-31 00:50:58 -07:00 |
|
|
08503116ff
|
Mark some definitions as global, so as not to capture them.
|
2020-05-31 00:34:12 -07:00 |
|
|
a1d679a59d
|
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 |
|
|
4586bd0188
|
Check for free variables in the environment before generalizing.
|
2020-05-30 16:40:27 -07:00 |
|
|
a97b50f497
|
Add parsing of let/in.
|
2020-05-28 14:44:12 -07:00 |
|
|
c84ff11d0d
|
Add typechecking to let/in expressions.
|
2020-05-26 00:52:54 -07:00 |
|
|
e966e74487
|
Extract ordering functionality into definition group.
|
2020-05-25 23:58:56 -07:00 |
|
|
3865abfb4d
|
Add a struct to contain groups of mutually recursive definitions.
|
2020-05-25 22:11:45 -07:00 |
|
|
1905601aaa
|
Fork off the 12th version of the compiler.
|
2020-05-25 21:20:41 -07:00 |
|
|
18339d7e4d
|
Build and test version 11 of the compiler instead of 10.
continuous-integration/drone/push Build is failing
|
2020-04-26 21:28:34 -07:00 |
|
|
78563448fb
|
Update to LLVM 10.
continuous-integration/drone/push Build is failing
|
2020-04-26 21:24:24 -07:00 |
|
|
c1f0104edb
|
Add missing arity checks to compiler series
continuous-integration/drone/push Build is failing
|
2020-04-14 19:21:33 -07:00 |
|
|
1f00b6a3f8
|
Make compiler check for arity in part 11 of compiler series.
continuous-integration/drone/push Build is failing
|
2020-04-14 16:20:12 -07:00 |
|
|
acb22c4119
|
Finish draft of part 11 of compiler series
|
2020-04-14 16:19:54 -07:00 |
|
|
be2b855ffe
|
Rename inaccurately named rule
|
2020-04-14 15:58:25 -07:00 |
|
|
88c9418350
|
Update example to include polymorphism
|
2020-04-14 15:58:13 -07:00 |
|
|
b4c91d2dd4
|
Adjust grammar to allow for broader range of type inputs.
|
2020-04-13 23:17:34 -07:00 |
|
|
98c1b5a3b2
|
Make substitution replace types at every lookup step
|
2020-04-13 17:59:57 -07:00 |
|
|
122a1d73d3
|
Integrate new types into the rest of the project
|
2020-04-13 17:12:43 -07:00 |
|
|
74e6dba914
|
Add parsed type data structure, type application and arity.
|
2020-04-13 17:08:03 -07:00 |
|
|
d7846e0b32
|
Fork off code for part 11 of compiler series.
continuous-integration/drone/push Build is failing
|
2020-04-09 23:48:53 -07:00 |
|
|
8c1168d818
|
Add seemingly missing string includes.
|
2020-04-09 16:26:10 -07:00 |
|
|
5cccb97ede
|
Add missing source file
continuous-integration/drone/push Build is passing
|
2020-03-25 03:36:17 -07:00 |
|
|
493419f324
|
Remove debug output
continuous-integration/drone/push Build is failing
|
2020-03-25 03:35:30 -07:00 |
|
|
577e0ad930
|
Finalize draft of polymorphism post
continuous-integration/drone/push Build is failing
|
2020-03-25 03:22:21 -07:00 |
|
|
2a12f7f31e
|
Switch to using type schemes and implement polymorphism in compiler series
|
2020-03-24 23:04:51 -07:00 |
|
|
ae3e661d7a
|
Implement new ordered typing in compiler series
|
2020-03-24 22:00:11 -07:00 |
|
|
0efa05142f
|
Separate definitions in compiler series
|
2020-03-24 21:08:06 -07:00 |
|
|
6714e18e7c
|
Switch type environment to using pointers
|
2020-03-24 18:04:01 -07:00 |
|
|
5d53678e83
|
Only store type in case expression
continuous-integration/drone/push Build is passing
|
2020-03-24 17:53:06 -07:00 |
|
|
e3834ed6ea
|
Explain graph code
continuous-integration/drone/push Build is passing
|
2020-03-14 21:04:13 -07:00 |
|
|
1bdb4a650e
|
Start work on algorithms in compiler post 10
continuous-integration/drone/push Build is passing
|
2020-03-14 17:18:06 -07:00 |
|
|
6966973497
|
Set up script to test latest compiler version
continuous-integration/drone/push Build is passing
|
2020-03-10 22:26:02 -07:00 |
|
|
8ee016e189
|
Fork into version 10 of the compiler for blog series
|
2020-03-10 20:58:26 -07:00 |
|
|
c207d1dfcf
|
Remove unused line at the end of works1.txt
|
2020-02-23 21:26:37 -08:00 |
|
|
0f744888ef
|
Move testing code into a script
|
2020-02-11 18:37:21 -08:00 |
|
|
e7f0ccfa16
|
Finish compiler series
|
2020-02-10 19:18:55 -08:00 |
|
|
e5d01a4e19
|
Add the primes program from compiler series
|
2020-02-10 18:13:04 -08:00 |
|
|
b7d72f2fbf
|
Implement garbage collection in runtime
|
2020-02-06 11:32:19 -08:00 |
|
|
281dbbd174
|
Track allocated nodes using a G-machine struct in compiler series.
|
2020-02-06 10:05:26 -08:00 |
|
|
8d22acfe78
|
Switch to single stack in runtime for Compiler Series
|
2020-01-31 15:29:12 -08:00 |
|
|
803f52b2d0
|
Update the compiler to leave the stack clean
|
2020-01-27 20:29:01 -08:00 |
|
|
2f96abeef6
|
Instantiate compiler for garbage collection
|
2020-01-27 14:52:25 -08:00 |
|
|
3df9c57482
|
Fix naming issue (this is really a compiler bug)
|
2019-12-05 19:36:47 -08:00 |
|
|
db16dbda18
|
Fix incorrect CMakeLists.txt
|
2019-11-13 13:47:04 -08:00 |
|
|
50fbe3e196
|
Finish draft of post 8 in compiler series
|
2019-11-06 21:10:53 -08:00 |
|
|
2994f8983d
|
Add the push operation in code in compiler series
|
2019-11-06 13:23:59 -08:00 |
|
|
64227f2873
|
Finish implementation of compiler
|
2019-11-06 12:52:42 -08:00 |
|
|
9aef499deb
|
Factor out definition into separate file in compiler series
|
2019-11-05 10:40:51 -08:00 |
|
|
c79b5a4120
|
Start writing actual compillation code in compiler series
|
2019-11-05 00:42:33 -08:00 |
|
|
81ee50d0d4
|
Implement function and type creation, add text to blog in compiler series
|
2019-11-04 18:25:54 -08:00 |
|
|
43b140285f
|
Fix missing line in runtime header in compiler series
|
2019-11-04 13:30:18 -08:00 |
|
|
1f6032a30e
|
Start work on chapter 8 code for compilers
|
2019-11-02 17:53:15 -07:00 |
|
|
9531f4d8e3
|
Add chapter 8 starting code for compiler series
|
2019-11-02 16:38:11 -07:00 |
|
|
3aa468c2f6
|
Remove debug printf
|
2019-10-31 14:38:06 -07:00 |
|
|
a834fd578e
|
Finish initial draft of runtime posts.
|
2019-10-30 14:21:13 -07:00 |
|
|
4b5e2f4454
|
Write some more about runetime
|
2019-10-30 00:19:56 -07:00 |
|
|
7812b1064b
|
Make progress on compiler posts
|
2019-10-26 20:30:29 -07:00 |
|
|
df0b819b0e
|
Fix bug from small improvements
|
2019-10-10 17:59:44 -07:00 |
|
|
21f90d85c5
|
Add finishing touches to code for part 6 of compiler series
|
2019-10-10 13:14:00 -07:00 |
|
|
18e3f2af55
|
Fix definition to resolve its own types
|
2019-10-09 22:51:19 -07:00 |
|
|
3901c9b115
|
Add print methods to instructions
|
2019-10-09 22:46:17 -07:00 |
|
|
d90993a93c
|
Implement ast_case::compile for compiler series and reference code
|
2019-10-08 23:46:35 -07:00 |
|
|
7e9bd95846
|
Write explanations of AST refactor in compiler series
|
2019-10-08 21:42:25 -07:00 |
|
|
d3d73e0e9c
|
Fix up compile in compiler blog part 6, and add more text.
|
2019-10-08 14:10:05 -07:00 |
|
|
d9c151d774
|
Continue implementation of compilation
|
2019-10-01 23:23:52 -07:00 |
|
|
bcaa67cc7a
|
Begin implementation of new environment
|
2019-10-01 14:34:38 -07:00 |
|
|
8c0a6c834e
|
Create new 'branch' for part 6 of compiler series
|
2019-10-01 11:05:21 -07:00 |
|
|
05af1350c8
|
Add errors ection to Part 4 of compiler posts
|
2019-08-28 15:34:13 -07:00 |
|
|
8ba501bd84
|
Add output and fix two bugs.
|
2019-08-26 21:05:44 -07:00 |
|
|
6344ce11ce
|
Add CMake file and code for post 4
|
2019-08-26 18:52:25 -07:00 |
|
|
619c346897
|
Do the first round of revisions on part 3
|
2019-08-26 17:08:05 -07:00 |
|
|
469cabda14
|
Backport fix for parser to post 2.
|
2019-08-26 00:14:45 -07:00 |
|
|
c2df5fdc78
|
Add the examples to the repo.
|
2019-08-26 00:13:34 -07:00 |
|
|
918dfbe980
|
Drafts of code and markdown.
|
2019-08-26 00:13:10 -07:00 |
|
|
d60d4e61bd
|
Add environment code
|
2019-08-26 00:11:38 -07:00 |
|
|
1820a05fcc
|
Write up type code
|
2019-08-25 16:42:23 -07:00 |
|
|
0d275844d4
|
Start working on type code
|
2019-08-25 01:36:34 -07:00 |
|
|
5acd08dcce
|
Add copy of part 2 project for part 3
|
2019-08-25 01:10:55 -07:00 |
|
|
d1a84b6f30
|
Add a way to clean the generated files.
|
2019-08-06 14:24:39 -07:00 |
|
|
8450e2c35d
|
Address listed flaws in implementation
|
2019-08-06 14:24:26 -07:00 |
|
|
34e967f364
|
Move code into folders for convenience
|
2019-08-06 13:56:32 -07:00 |
|