ludus/janet/validate.janet
2024-05-10 16:10:27 -04:00

18 lines
482 B
Plaintext

### A validator for a Ludus AST
(comment
Tracking here, before I start writing this code, the kinds of validation we're hoping to accomplish:
* splats come at the end of list, tuple, and dict patterns
* no unbound names
* no re-bound names
* correct imports
* no unbound names with `use` forms
* no circular imports
* first-level property access with pkg, e.g. `Foo :bar`--bar must be on Foo
* recur in tail position in `loop` forms
* recur not called outside of `loop` forms
)