summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2023-02-11Write a garbage collector.Rose Hogenson7-7/+174
Does it work? No, but it compiles.
2023-02-11Avoid copies when writing to buffer.Rose Hogenson1-25/+24
2023-02-11Add a bytecode interpreter.Rose Hogenson14-0/+493
I wrote it in C because I actually like programming in C. Turns out setting up a Makefile is really easy too.
2023-02-11Finish the compiler.Rose Hogenson8-62/+209
Just joking. But we did manage to compile a program from SML to bytecode.
2023-02-10Write a first draft of the compiler.Rose Hogenson9-1/+612
Sorry I haven't been better about these commit messages. You're not my mom.
2023-02-10Add module syntax to the parser.Rose Hogenson1-16/+94
2023-02-10Re-implement map.Rose Hogenson1-109/+168
I stole Haskell's map, and I read a paper.
2022-09-12Get rid of the Y combinator.Rose Hogenson1-73/+72
It's a bit overcomplicated. We can rely on the fact that parsers are functions.
2022-09-11Don't break the parser abstraction for recursion.Rose Hogenson1-37/+44
Parsers are values. Of course, one can always make recursion from scratch even if the language doesn't allow recursive values.
2022-09-11Fix a performance issues in parser.sml.Rose Hogenson1-3/+3
2022-09-11Add a smlnj compilation manager file.Rose Hogenson1-0/+8
2022-09-11Add a simple expression parser.Rose Hogenson3-0/+365
2022-09-11Fix some style issues in map.sml.Rose Hogenson1-21/+21
2022-09-08As is the tradition, start with a red-black tree.Rose Hogenson1-0/+135
I probably won't touch this repo again for a year.