diff options
author | JJ | 2023-04-05 16:17:32 +0000 |
---|---|---|
committer | JJ | 2023-04-05 16:17:32 +0000 |
commit | 0fb9dd34d9f1a1c8ace6f9775af2a1da8d308399 (patch) | |
tree | 8dc373bd8e2a07d27075461aaa6d09fa31889e45 | |
parent | a68aa104c91a617a2d78a1015f786dce7fdac795 (diff) |
update readme
-rw-r--r-- | README.md | 27 |
1 files changed, 26 insertions, 1 deletions
@@ -1 +1,26 @@ -# a simple type system +# chrysanthemum: a simple type system + +## todo + +- [x] the simple lambda calculus: implement `execute` +- [ ] to lose my sanity: implement `parse` +- [ ] bidirectional typechecking: implement `infer` and `check` +- [ ] simple effects: extend `ast` +- [ ] type classes: implement `monomorphize` +- [ ] to be fancy: implement `parse_file` +- [ ] extend to additional basic types: implement `cast` +- [ ] extend to complex types +- [ ] testtesttest + +## architecture + +```bash +src/ +src/main.rs # the user facing program +src/parser.rs # parses user programs into proper data structures +src/ast.rs # the fundamental representation of the program +src/simple.rs # the core of the lambda calculus: checking, inference, evaluation +src/effects.rs # code for effects idk +src/classes.rs # a monomorphization pass for type classes +test/ # various tests +``` |