Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | Drawbacks |
2 | ========= | |
3 | ||
4 | MLton has several drawbacks due to its use of whole-program | |
5 | compilation. | |
6 | ||
7 | * Large compile-time memory requirement. | |
8 | + | |
9 | Because MLton performs whole-program analysis and optimization, | |
10 | compilation requires a large amount of memory. For example, compiling | |
11 | MLton (over 140K lines) requires at least 512M RAM. | |
12 | ||
13 | * Long compile times. | |
14 | + | |
15 | Whole-program compilation can take a long time. For example, | |
16 | compiling MLton (over 140K lines) on a 1.6GHz machine takes five to | |
17 | ten minutes. | |
18 | ||
19 | * No interactive top level. | |
20 | + | |
21 | Because of whole-program compilation, MLton does not provide an | |
22 | interactive top level. In particular, it does not implement the | |
23 | optional <:BasisLibrary:Basis Library> function `use`. |