MLton has several drawbacks due to its use of whole-program compilation.
-
Large compile-time memory requirement.
Because MLton performs whole-program analysis and optimization, compilation requires a large amount of memory. For example, compiling MLton (over 140K lines) requires at least 512M RAM.
-
Long compile times.
Whole-program compilation can take a long time. For example, compiling MLton (over 140K lines) on a 1.6GHz machine takes five to ten minutes.
-
No interactive top level.
Because of whole-program compilation, MLton does not provide an interactive top level. In particular, it does not implement the optional Basis Library function use.