Odds & ends
This commit is contained in:
parent
a71db0e640
commit
d6a547bdcb
|
@ -315,22 +315,22 @@
|
||||||
- use accept-many in blocks and scripts
|
- use accept-many in blocks and scripts
|
||||||
- parse-atom (and other parse functions) should take only a parser
|
- parse-atom (and other parse functions) should take only a parser
|
||||||
- ast nodes should include their tokens
|
- ast nodes should include their tokens
|
||||||
-
|
* Time to start working on parsing errors (poisoned nodes, panic mode, etc.)
|
||||||
|
|
||||||
Other quick thoughts:
|
Other quick thoughts:
|
||||||
* Once I get this far, then it's time to wire up the interpreter (with hard-coded functions, and the beginning of static analysis)
|
* Once I get this far, then it's time to wire up the interpreter (with hard-coded functions, and the beginning of static analysis)
|
||||||
|
|
||||||
* ALSO: time to start working on parsing errors. (poisoned nodes, panic mode, etc.)
|
|
||||||
|
|
||||||
* Placeholders
|
* Placeholders
|
||||||
* Placeholders may only appear in tuples in synthetic expressions
|
* Placeholders may only appear in tuples in synthetic expressions
|
||||||
* Each of these may have zero or one placeholders
|
* Each of these may have zero or one placeholders
|
||||||
* Does this want to happen in parsing or in analysis?
|
* Does this want to happen in parsing or in analysis?
|
||||||
|
|
||||||
For future correctness checks:
|
For future correctness checks:
|
||||||
* Early (even as part of wiring up the interpreter), begin the static analysis check for unbound names, redeclaration
|
* Early (even as part of wiring up the interpreter), begin the static analysis check for
|
||||||
|
- unbound names
|
||||||
|
- re-binding of names
|
||||||
* Compound `loop` and `gen` forms must have LHS's (tuple patterns) of the same length
|
* Compound `loop` and `gen` forms must have LHS's (tuple patterns) of the same length
|
||||||
* Recur is in tail position in `loop`s
|
* Recur must be in tail position in `loop`s
|
||||||
* Tail call optimization for simple recursion
|
* Tail call optimization for simple recursion
|
||||||
* Check arities for statically known functions
|
* Check arities for statically known functions
|
||||||
* Enforce single-member tuple after called keywords
|
* Enforce single-member tuple after called keywords
|
||||||
|
|
Loading…
Reference in New Issue
Block a user