|
CMU-CS-06-104R
Computer Science Department
School of Computer Science, Carnegie Mellon University
CMU-CS-06-104R
A Separate Compilation Extension to Standard ML
(Revised and Expanded)
David Swasey, Tom Murphy VII, Karl Crary, Robert Harper
September 2006
CMU-CS-06-104R.ps
CMU-CS-06-104R.pdf
Keywords: Standard ML, separate compilation, incremental compilation,
types
We present an extension to Standard ML, called SMLSC, to support separate
compilation. The
system gives meaning to individual program fragments, called units.
Units may depend on one
another in a way specied by the programmer. A dependency may be
mediated by an interface
(the type of a unit); if so, the units can be compiled separately.
Otherwise, they must be compiled
in sequence. We also propose a methodology for programming in SMLS
C that re
ects code
development practice and avoids syntactic repetition of interfaces.
The language is given a formal
semantics, and we argue that this semantics is implementable
in a variety of compilers.
60 pages
|