TODO.txt (1521B)
1 :::::::::Current task: 2 3 with*: optimize by naming clusters of "missing", and naming types for known flex structs 4 5 with*: call from phc-adt, wrappers to and from the actual structs 6 7 :::::::::In progress: 8 9 Draft the graph implementation 10 11 Modularity 12 13 :::::::::Ready: 14 15 Run-time checkers for invariants 16 17 Cleanup invariants-phantom.hl.rkt 18 19 Implement graph 20 21 Implement the first graph generation pass, with a placeholder wrapping each mapping result 22 23 Implement the second graph generation pass: inline nodes 24 25 Implement the third graph generation pass: replacing indices with promises 26 27 Combine the graph passes into a single macro 28 29 Relicensing 30 31 Write "middle-dot" language extension 32 33 Drop MathJax, directly print Unicode or render via LaTeX (speed & licensing issues) 34 35 ::::::::Later: 36 37 Garbage collect graph 38 39 Merge tagged-anytag-match into the regular match for tagged structures 40 41 Check for non-intersection of the union types in traversal.hl.rkt, using the non-intersection implementation from phc-adt. 42 43 to infer the type for curry, check using identifier-binding if the id is imported, if so try to print its type using eval 44 45 :::::::::Backlog: 46 47 Translate https://github.com/nanopass/nanopass-framework-scheme 48 49 Translate https://github.com/akeep/scheme-to-c 50 51 Formalise what well-typed means for typed-nanopass+graph means 52 53 Formalise the semantics of typed-nanopass+graph programs (using redex?) 54 55 Write memoir 56 57 Proof that well-typed programs with the extensions translate to well-typed programs in plain TR, with the same semantics