- 
Port to new platform: Windows (native, not Cygwin or MinGW), ...
 - 
Source-level debugger
 - 
Heap profiler
 - 
Interfaces to libraries: OpenGL, ...
 - 
Additional constant types: Real80, ...
 - 
An IDE (possibly integrated with Eclipse)
 - 
Port MLRISC and use for code generation
 - 
Optimizations
 - 
Improved closure representation
Right now, MLton's closure conversion algorithm uses a simple flat closure to represent each function. - 
Elimination of array bounds checks in loops
 - 
Elimination of overflow checks on array index computations
 - 
Common-subexpression elimination of repeated array subscripts
 - 
Loop-invariant code motion, especially for tuple selects
 - 
Loop unrolling, especially for small loops
 - 
Auto-vectorization, for MMX/SSE/3DNow/AltiVec (see the
work done on GCC) 
 - 
Optimize MLton_eq: pointer equality is necessarily false when one of the arguments is freshly allocated in the block
 - 
Analyses
 - 
Uncaught exception analysis