Summary: A Standard ML Compiler
Andrew W. Appel *
Dept. of Computer Science
Princeton, NJ 08544
David B. MacQueen +
AT&T Bell Laboratories
Murray Hill, NJ 07974
Standard ML is a major revision of earlier dialects of the functional language
ML. We describe the first compiler written for Standard ML in Standard ML.
The compiler incorporates a number of novel features and techniques, and is
probably the largest system written to date in Standard ML.
Great attention was paid to modularity in the construction of the compiler, lead
ing to a successful largescale test of the modular capabilities of Standard ML.
The front end is useful for purposes other than compilation, and the back end is
easily retargetable (we have code generators for the VAX and MC68020). The
module facilities of Standard ML were taken into account early in the design of
the compiler, and they particularly influenced the environment management
component of the front end. For example, the symbol table structure is designed