MLton uses a number of intermediate languages in translating from the input source program to low-level code. Here is a list in the order which they are translated to.
-
AST. Pretty close to the source.
-
CoreML. Explicitly typed, no module constructs.
-
XML. Polymorphic, HigherOrder.
-
SXML. SimplyTyped, HigherOrder.
-
SSA. SimplyTyped, FirstOrder.
-
SSA2. SimplyTyped, FirstOrder.
-
RSSA. Explicit data representations.
-
Machine. Untyped register transfer language.