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


Return to: SCS Technical Report Collection
School of Computer Science

This page maintained by reports@cs.cmu.edu