aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJJ2023-04-05 16:17:32 +0000
committerJJ2023-04-05 16:17:32 +0000
commit0fb9dd34d9f1a1c8ace6f9775af2a1da8d308399 (patch)
tree8dc373bd8e2a07d27075461aaa6d09fa31889e45
parenta68aa104c91a617a2d78a1015f786dce7fdac795 (diff)
update readme
-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
+```