MLton 20210117

# CompilerOverview

The following table shows the overall structure of the compiler. IntermediateLanguages are shown in the center column. The names of compiler passes are listed in the left and right columns.

Compiler Overview
Translation Passes | IntermediateLanguage | Optimization Passes
| Source |
FrontEnd |  |
| AST |
Elaborate |  |
| CoreML | CoreMLSimplify
Defunctorize |  |
| XML | XMLSimplify
Monomorphise |  |
| SXML | SXMLSimplify
ClosureConvert |  |
| SSA | SSASimplify
ToSSA2 |  |
| SSA2 | SSA2Simplify
ToRSSA |  |
| RSSA | RSSASimplify
ToMachine |  |
| Machine |
Codegen |  |

The Compile functor (compile.sig, compile.fun), controls the high-level view of the compiler passes, from FrontEnd to code generation.