From: Artur Zaroda
Subject: Re: Small embeddable Lisp or Scheme interpreter?
Date: 
Message-ID: <36E54E22.2B85@mimuw.edu.pl>
Preston L. Bannister wrote:
> 
> I'm looking for a small Lisp or Scheme interpreter to embed in a commercial
> product.  The catch is that it needs to be buildable on Windows NT, IBM OS/390
> UNIX, and (eventually) on other versions of Unix.

Another implementation worth mention is TinySCHEME by Dimitrios Souflis
(http://www.altera.gr/dsouflis/tinyscm.html).
It is very small, very portable, close to R5RS and easy to hack.

Artur Zaroda
······@mimuw.edu.pl

From: Preston L. Bannister
Subject: Re: Small embeddable Lisp or Scheme interpreter?
Date: 
Message-ID: <CHeF2.4047$3G5.3018@news.rdc2.occa.home.com>
Preston L. Bannister wrote:
> I'm looking for a small Lisp or Scheme interpreter to embed in a commercial
> product.  The catch is that it needs to be buildable on Windows NT, 
> IBM OS/390 UNIX, and (eventually) on other versions of Unix.

In article <·············@mimuw.edu.pl>, Artur Zaroda <······@mimuw.edu.pl> 
wrote:
>Another implementation worth mention is TinySCHEME by Dimitrios Souflis
>(http://www.altera.gr/dsouflis/tinyscm.html).
>It is very small, very portable, close to R5RS and easy to hack.

I think we have a winner :).

For the record, I've pulled down and built:

-- XLisp 3.0 (formerly XScheme)

Built on Win32 (about 1.4 Mbytes running).  Fixed idle loop handling to truly 
block, eliminated some compiler warnings (some of which appear to be bugs).  
Sent changes back to the author.  Ran into a startup bug in the "release" 
build & not obvious how to fix.  Probably minor for the author :).

-- XLisp-Plus 3.04 (descended from original XLisp)

Built on Win32, but dies on startup.  Fix not immediately obvious.

-- scm5d0

Some interesting stuff in here.  Started building for Win32, but it became 
clear this would take some time to get working.

-- scm4e2 (Win32 port from John Kozak)

Grabbed the archive, took a look, but John realized it was missing some bits.  
Bet it works great once all the bits are there :).

-- mzscheme

Built on Win32 (about 2.2 Mbytes running).  
Interesting.  

-- siod

Built on Win32 (about 2.5 Mbytes running).

This would probably be a good candidate, aside from the source code format.
Mostly I don't care a lot about others choices in formatting source code, 
but this example is a bit much.  Over the years I've found pragmatic rather 
than esthetic choices for a lot of how source code should be laid out.

The siod source breaks almost all of them :).

I could (and have in the past) reformatted the sources to siod, but then 
picking up changes from the author, or sending back changes becomes difficult.

-- uts (a small Scheme from Darius Bacon [······@accesscom.com])

A small set of sources, but has only run on Unix, and seen very limited use.

-- TinyScheme

Built on Win32 (about 1.0 Mbytes running).  Can't get much simpler (two files: 
scheme.h and scheme.c).  Built on OS/390 with very little work.  Sent changes 
back to author.

Looks to be simple to integrate.  I think this is a winner :).

--
Preston L. Bannister
·······@home.com
http://members.home.com/preston
From: Fernando D. Mato Mira
Subject: Re: Small embeddable Lisp or Scheme interpreter?
Date: 
Message-ID: <36E63B48.90DBB161@iname.com>
Preston L. Bannister wrote:

> -- TinyScheme
>
> Built on Win32 (about 1.0 Mbytes running).  Can't get much simpler (two files:
> scheme.h and scheme.c).  Built on OS/390 with very little work.  Sent changes
> back to author.
>
> Looks to be simple to integrate.  I think this is a winner :).
>

Looked cool to me too. However the GC won't work for me,
and I guess a real-time collector would be bigger (and obviously more complex)
than the interpreter itself.

How tiny can one get with RTGC? And BTW, what about a GC
that is interruptible? (having to call a fast function in an interrupt to make a
transition
to a safe state is OK).

--
Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1                   email: matomira AT acm DOT org
CH-2007 Neuchatel                 tel:       +41 (32) 720-5157
Switzerland                       FAX:       +41 (32) 720-5720

www.csem.ch      www.vrai.com     ligwww.epfl.ch/matomira.html
From: Preston L. Bannister
Subject: Re: Small embeddable Lisp or Scheme interpreter?
Date: 
Message-ID: <Uz%F2.4976$3G5.3587@news.rdc2.occa.home.com>
Preston L. Bannister wrote:

> -- TinyScheme
>
> Built on Win32 (about 1.0 Mbytes running).  
> Can't get much simpler (two files: scheme.h and scheme.c).  
> Built on OS/390 with very little work.  
> Sent changes back to author.
>
> Looks to be simple to integrate.  I think this is a winner :).

In article <·················@iname.com>, "Fernando D. Mato Mira" 
<········@iname.com> wrote:

>Looked cool to me too. However the GC won't work for me,
>and I guess a real-time collector would be bigger 
>(and obviously more complex) than the interpreter itself.

Right.  Should probably have mentioned that my application is 
a non-interactive batch operation with a small working set.  
The mark-and-sweep GC should be fine.

--
Preston L. Bannister
·······@home.com
http://members.home.com/preston