Separate compilation for Standard ML
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
ACM Transactions on Programming Languages and Systems (TOPLAS)
DrScheme: a programming environment for Scheme
Journal of Functional Programming
A separate compilation extension to standard ML
Proceedings of the 2006 workshop on ML
Hi-index | 0.00 |
The design and implementation of an incremental recompilation manager (IRM) for Standard ML of New Jersey (SML/NJ) is described. Truly separate 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 "smart 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 IRM readily generalizes to arbitrary "compilation tools" such as parser generators and embedded languages.