From: Sundar Narasimhan
Subject: request for info on embedded (embeddable) Lisps
Date: 
Message-ID: <24763@life.ai.mit.edu>
C/C++ programs. I'm aware of Elk. I think there was a post describing
other such implementations, but forgot to save it.

Thanks in advance. (I don't think this is in the FAQ).

From: Joel Bartlett
Subject: Re: request for info on embedded (embeddable) Lisps
Date: 
Message-ID: <1992Jun3.184729.1061@PA.dec.com>
Scheme->C is Scheme system that can be embedded in C or C++ programs. 
It's available via ftp from the directory pub/DEC/Scheme-to-C on
gatekeeper.dec.com.
From: Sundar Narasimhan
Subject: Re: request for info on embedded (embeddable) Lisps
Date: 
Message-ID: <24780@life.ai.mit.edu>
---------------------------------------------------------------
Hi: I just tried posting this, but it looks like my newsreader 
(XRn+nntp+inews combination) insists on chewing this up.

So here it is again::

---

Hi: I'm looking for information on Lisps/derivatives that can be embedded in
C/C++ programs. I'm aware of Elk. I think there was a post describing
other such implementations, but forgot to save it.

Thanks in advance. (I don't think this is in the FAQ).
From: ···@paradigm.com
Subject: Re: request for info on embedded (embeddable) Lisps
Date: 
Message-ID: <10179@paradigm.com>
In article <·····@life.ai.mit.edu>, ······@fiber-one.ai.mit.edu (Sundar Narasimhan) writes:
> C/C++ programs. I'm aware of Elk. I think there was a post describing
> other such implementations, but forgot to save it.
> 
> Thanks in advance. (I don't think this is in the FAQ).

There was a paper a few years back on how somebody took an early version
of SIOD, (1.3 perhaps) and converted it to be a natural/native C++
program.

That is to say, in SIOD.H there is a struct typedef that defines what
a LISP object means. And there are various "switch" statements
in EVAL, PRINT, GC.

Now, SIOD 2.7 and 2.8, which resides in world.std.com in the obvious
anonymous FTP locations, has a bit more than "switch" statements.
It actually graduated to using a method-array for EVAL, PRINT, GC, FASPRINT,
EQUAL, SXHASH. etc.

If you find no C++ program that is suitable, your best bet may be to
do the conversion of SIOD yourself, into a suitable C++ formulation.

The entire interpreter, read/eval/print, fasload/fasdump, and array support,
is less than 2500 lines of code, total. I doubt you will find anything
smaller.

-gjc