diff --git a/TODO.md b/TODO.md index 9f7878f..1b772d3 100644 --- a/TODO.md +++ b/TODO.md @@ -4,6 +4,14 @@ * cf. https://siraben.dev/2022/03/22/tree-sitter-linter.html write a tree-sitter parser for Schala +* Create a macro system, perhaps c.f. Crystal's? + * Macro system should be able to implement: + * printf-style variadic arguments + * something like the Rust/Haskell `Derive` construct + * doing useful things with all variants of an enum + * (e.g. what https://matklad.github.io//2022/03/26/self-modifying-code.html tries to solve) + + ## Testing * Make an automatic (macro-based?) system for numbering compiler errors, this should be every type of error