ML Module Mania: A Type-Safe,
Separately Compiled, Extensible Interpreter

Norman Ramsey

To illustrate the utility of a powerful modules language, this paper presents the embedded interpreter Lua-ML. The interpreter combines extensibility and separate compilation without compromising type safety. Its types are extended by applying a sum constructor to built-in types and to extensions, then tying a recursive knot using a two-level type; the sum constructor is written using an ML functor. The initial basis is extended by composing initialization functions from individual extensions, also using ML functors.

Full paper

The paper is available as US Letter PostScript (482K), US Letter PDF (235K), and US Letter TeX DVI (168K)