ML Module Mania: A Type-Safe,
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
the sum constructor is written using an ML functor.
The initial basis is extended by composing
initialization functions from individual extensions, also using
The paper is available as
US Letter PostScript (482K),
US Letter PDF (235K),
US Letter TeX DVI (168K)