[Ecls-list] Embedding ECL interpreter in a C++ application

Juan Jose Garcia-Ripoll worm at arrakis.es
Tue Mar 2 00:42:05 UTC 2004

On Monday 01 March 2004 22:33, Michael O'Connor wrote:
> Hi,
> I have a task that requires me to embed a lisp
> interpreter into a C++ application (primarily in order
> to provide configuration information to the app, but
> also to allow some data manipulation). The interpreter
> will be called by the C++ app and needs to read a
> named lisp file, compile to bytecode, and run the
> bytecode over lots of different sets of data provided
> by the app.

Looks like a reasonable task for ECL. Beware, though, that the
bytecodes interpreter is far from optimal, and though it achieves
performance similar to unoptimized CLISP and better than interpreted
CMUCl, it will be much better if you help it by compiling time-critical
parts into C/C++ with the lisp->C translator.

> I've been looking at using ECL for this, but I can't
> find any explanation or examples of how to embed the
> interpreter in a C/C++ app. So now I'm wondering if
> ECL is intended for this type of use?

Sure. There are two examples that used this: a QUAKE plugin made
by Erik Winkels, and a prototype of a game (Unicorp) by Andrew
Topp. I am not sure that code is available, but they had the
same resources as you: that is the users and developer guides
in ecls.sf.net (For instance http://ecls.sourceforge.net/ecldev/devel_3.html#SEC24)
and myself (I am very keen to helping people use ECL, although
my availability is somewhat restricted in the last months).



More information about the ecl-devel mailing list