TODO 1.69 KB
Newer Older
POTTIER Francois's avatar
TODO.  
POTTIER Francois committed
1 2 3 4
------------------------------------------------------------------------------

TODO (REALLY):

POTTIER Francois's avatar
TODO.  
POTTIER Francois committed
5 6 7 8
System F demo:
  remove TyMu, or handle properly.
  add TyExists.
  Test?
POTTIER Francois's avatar
TODO.  
POTTIER Francois committed
9 10
System F-type-term:
  deal with both kinds of variables
POTTIER Francois's avatar
TODO.  
POTTIER Francois committed
11

12
Implement avoids. (Test for no-shadowing.)
POTTIER Francois's avatar
TODO.  
POTTIER Francois committed
13

POTTIER Francois's avatar
POTTIER Francois committed
14 15
Implement a subst that does not copy the grafted term?
Or parameterize subst over the copy operation that needs to be performed when grafting?
POTTIER Francois's avatar
TODO.  
POTTIER Francois committed
16 17

Implement fused copy/subst, fused avoid/subst?
POTTIER Francois's avatar
TODO.  
POTTIER Francois committed
18 19
  Implement a kit that composes two kits, so as to easily implement fused operations.
  Composition of classes? Or composition of kit objects? ...
POTTIER Francois's avatar
TODO.  
POTTIER Francois committed
20

POTTIER Francois's avatar
TODO.  
POTTIER Francois committed
21 22
Test avoid.

POTTIER Francois's avatar
TODO.  
POTTIER Francois committed
23 24 25 26 27 28
Suppose I want to annotate every abstraction with its fa.
Or, suppose I want to annotate every abstraction with the
  number of uses of the bound name.
Can I easily do it?
Need a map_reduce visitor?

POTTIER Francois's avatar
POTTIER Francois committed
29 30 31 32 33 34 35 36
Check that every module has an .mli file, except where that would be too heavy.

Operations on each kind of environment:
  Entering a binder (and testing for global uniqueness).

Add printers for Atom.Map
and possibly the various kinds of environments that we use.

POTTIER Francois's avatar
TODO.  
POTTIER Francois committed
37
Document the precondition and postcondition of every function.
POTTIER Francois's avatar
POTTIER Francois committed
38 39

Deal with more complex forms of binding.
POTTIER Francois's avatar
TODO.  
POTTIER Francois committed
40 41 42
  How do we deal with forms where a name can have several binding occurrences?
  e.g., or-patterns, join-calculus
  let, let rec, multiple let, multiple let rec, telescopes
43
  What about the distinction between expression types and pattern types?
POTTIER Francois's avatar
POTTIER Francois committed
44 45 46 47 48 49 50 51 52 53 54

Try dealing with binding and hash-consing at the same time.

Try dealing with suspended substitutions.
  (As a distinct construct. Not necessarily at abstractions.)

Look at the visitors in Why3.

------------------------------------------------------------------------------

TODO (POSSIBLY):