Embedding an Interpreted Language Using Higher-Order Functions and Types (Workshop version)

Norman Ramsey

Using an embedded, interpreted language to control a complicated application can have significant software-engineering benefits. But existing interpreters are designed for embedding into C code. To embed an interpreter into a different language requires a suitable API. Lua-ML is a new API that uses higher-order functions and types to simplify the use of an embedded interpreter. A typical application-program function can be added to a Lua-ML interpreter simply by describing the function's type.

This paper appears in the ACM SIGPLAN 2003 Workshop on Interpreters, Virtual Machines and Emulators.

Full paper

The paper is available as US Letter PostScript (162K), US Letter PDF (104K), and US Letter TeX DVI (76K).