ACM Home Page
Please provide us with feedback. Feedback
Embedding an interpreted language using higher-order functions and types
Full text PdfPdf (244 KB)
Source Interpreters, Virtual Machines And Emulators archive
Proceedings of the 2003 workshop on Interpreters, virtual machines and emulators table of contents
San Diego, California
Pages: 6 - 14  
Year of Publication: 2003
ISBN:1-58113-655-2
Author
Norman Ramsey  Harvard University
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 32,   Citation Count: 9
Additional Information:

abstract   references   cited by   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/858570.858571
What is a DOI?

ABSTRACT

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Beazley, David M. 1996. SWIG: An easy to use tool for integrating scripting languages with C and C++. In USENIX, editor, Proceedings of the fourth annual Tcl/Tk Workshop, pages 129--139, Berkeley, CA.
 
2
Benson, Brent W. 1994 (October). Libscheme: Scheme as a C library. In Proceedings of the USENIX Symposium on Very High Level Languages, pages 7--19.
 
3
Benton, Nick. 2003. Embedded interpreters. See http://research.microsoft.com/~nick.
 
4
Celes, Waldemar. 2003 (March). toLua---accessing C/C++ code from Lua. See http://www.tecgraf.puc-rio.br/~celes/tolua.
5
 
6
 
7
 
8
---. 1996b (November). Reference Manual of the Programming Language Lua 2.5. TeCGraf, PUC-Rio. Available from the author.
 
9
---. 2001 (May). The evolution of an extension language: A history of Lua. In V Brazilian Symposium on Programming Languages, pages B14--B28. (Invited paper).
 
10
 
11
 
12
Leroy, Xavier, Damien Doligez, Jacques Garrigue, Didier Rémy, and Jérôme Vouillon. 2001. The Objective Caml system release 3.04: Documentation and user's manual. INRIA. Available at http://pauillac.inria.fr/ocaml/htmlman.
 
13
Ousterhout, John K. 1990 (January). Tcl: An embeddable command language. In Proceedings of the Winter USENIX Conference, pages 133--146.
 
14
 
15
Ramsey, Norman. 2003 (March). ML module mania: A typesafe, separately compiled, extensible interpreter. Available from http://www.eecs.harvard.edu/~nr/pubs/mania-abstract.html.
 
16
van Rossum, Guido. 2002. Extending and Embedding the Python Interpreter. Release 2.2.2.