2006 · 12 citations · 17 references
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 specified 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 SMLSC that reflects 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.
17
From system F to typed assembly language
Greg Morrisett, David Walker, Karl Crary et al. · ACM Transactions on Programming Languages and Systems · 1999 · 584 citations · Full text
A type-theoretic approach to higher-order modules with sharing
Robert Harper, Mark Lillibridge · 1994 · 291 citations · Full text
Manifest types, modules, and separate compilation
Xavier Leroy · 1994 · 260 citations · Full text
Matthew Flatt, Matthias Felleisen · 1998 · 233 citations
Program fragments, linking, and modularization
Luca Cardelli · 1997 · 196 citations
Software Maintenance, Engineering, Computer Architecture +20