ML Module Mania: A Type-Safe,
Separately Compiled,
Extensible Interpreter
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)