From 0fb9dd34d9f1a1c8ace6f9775af2a1da8d308399 Mon Sep 17 00:00:00 2001 From: JJ Date: Wed, 5 Apr 2023 09:17:32 -0700 Subject: update readme --- README.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index cba6242..4c7830c 100644 --- a/README.md +++ b/README.md @@ -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 +``` -- cgit v1.2.3-70-g09d2