Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Embedding an Interpreted Language Using Higher-Order Functions and Types (Abstract)
[go: Go Back, main page]

Embedding an Interpreted Language Using Higher-Order Functions and Types

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 an API suited to that language. This paper presents Lua-ML, a new API that is suited to languages that provide higher-order functions and types. The API exploits higher-order functions and types to reduce the amount of glue code needed to use an embedded interpreter. Where embedding in C requires a special-purpose ``glue function'' for every function to be embedded, embedding in Lua-ML requires only a description of each function's type. Lua-ML also makes it easy to define a Lua function whose behavior depends on the number and types of its arguments.

Full paper

The full paper will appear in the Journal of Functional Programming. A preprint is available now as US Letter PostScript (269K), US Letter PDF (173K), and US Letter TeX DVI (117K).