A Separate Compilation Extension to Standard ML (Revised and Expanded)

David Swasey, VII Murphy, Crary Tom, Harper Karl, Robert · 2006

Introduction We propose an extension to Standard ML called SMLSC. SMLSC supports separate compilation in the sense that it gives a static semantics to individual program fragments, which we call units. A unit may depend on other units, and can be type-checked independently of those units by specifying what it expects of them. These expectations are given in the form of interfaces for those other units. When unit A is checked against another unit B via a mediating interface, we need not have access to B at all. Therefore we say that A is separately compiled (SC) against B. It is also useful to allow unit A to depend on another unit B without specifying an interface for B. In this case, the only way to derive the context necessary to check A is to first check B and read off its actual interface. In this scenario we say that A is incrementally compiled (IC) against B.

Read the paper · More papers on PaperTik