aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md27
1 files changed, 26 insertions, 1 deletions
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
+```