A Compilation Manager for SML/NJ

Authors: Robert Harper, Peter Lee, F. Pfenning, Gene Rollins

Appeared in Proc. ACM Workshop Standard ML, June 1994

Sorry, no postscript available at this time.


The design and implementation of a compilation manager for Standard ML of New Jersey (SML/NJ) is described. Truly independent compilation is difficult to implement correctly and efficiently for SML because one compilation unit may depend not only on the interface of another, but also on its implementation. In this paper we present an integrated compilation system based on the visible compiler primitives provided by SML/NJ that supports selective recompilation to minimize system build time in most situations. Large systems are presented as hierarchical source groups. An automatic dependency analyzer determines constraints on the order in which sources must be considered. By abstracting away from the specifics of the SML/NJ compiler, the compilation manager readily generalizes to arbitrary compilation tools such as parser generators and embedded languages.