This commit is contained in:
François Pottier 2022-04-08 11:17:16 +02:00
parent 1940ed39e4
commit 7e81ab63ef
1 changed files with 2 additions and 10 deletions

12
TODO.md
View File

@ -23,10 +23,6 @@
that would require multiple name transformations (i.e., composing multiple that would require multiple name transformations (i.e., composing multiple
environment lookups). environment lookups).
* Can `let0`, `let1`, and `letn` be simplified or combined? Do we really need
a `CLet` form that binds several names at once? Can the treatment of
unreachable type variables be simplified?
* Can we remove the redundancy between `instance` and `instance_? (See next item.) * Can we remove the redundancy between `instance` and `instance_? (See next item.)
* Introduce a combinator `ignore : 'a co -> unit co` that allows the solver to * Introduce a combinator `ignore : 'a co -> unit co` that allows the solver to
@ -37,6 +33,8 @@
elaboration. Also, it could remove the need for a primitive `instance_` elaboration. Also, it could remove the need for a primitive `instance_`
combinator, as `instance_ x ty` would correspond to `ignore (instance x ty)`. combinator, as `instance_ x ty` would correspond to `ignore (instance x ty)`.
* Introduce a `forall` combinator so as to make it easy to express `∀α.c`.
## Error Handling ## Error Handling
* Attach exploitable information to the exception `VariableScopeEscape`. * Attach exploitable information to the exception `VariableScopeEscape`.
@ -62,12 +60,6 @@
decoding is performed either during elaboration or after the decoding is performed either during elaboration or after the
unifier has encountered an error. unifier has encountered an error.
* Improve the documentation produced by `make doc`.
* Document the requirement that the function passed to `map` must be pure.
Use this hypothesis to remove the useless evaluation of `k1 env` in the
definition of `^^`.
## Test Suite ## Test Suite
* Improve the coverage of the test suite. Add explicit negative test cases. * Improve the coverage of the test suite. Add explicit negative test cases.