ref: 8d4d9b23216e3b3a32ed7570521d32e8f431036a
dir: /TODO/
* Add strict constructors
* Put on hackage
* Have compile return a Stats record of timing etc
* Add overloading
* Implement deriving
* Make sure rank-N works correctly
- redo type checker
* Add the possibility to save a compiler cache in a file
- Add SHA checksumming to the C code
- Use filename as the cache lookup key and SHA for validation
* make the runtime system catch ^C and stop execution
* use pointer stack during GC instead of recursion.
* add pretty printing library
* whith dictionaries we need two optimizations to get rid of them
- case d of (d1,d2) -> ... (d1,d2) ...
transforms to
case d of (d1,d2) -> ... d ...
this takes care of dictionary reconstruction
- f x y = ... f x e ...
transforms to
f x = let f' y = ... f' e ...
this will specialize recursive functions
(and make more efficient 'map' etc)