From: J.C. Roberts
Subject: ThinLisp  and ECL ?
Date: 
Message-ID: <kfd7n1lsdsmj31j458g9e5qb0e557to6is@4ax.com>
And still, I'm looking all through the various Common Lisp
implementations and the delivery methods they support. My goal is to
generate native instruction executable binaries for end users on each of
the supported platform of the project.

I stumbled across ThinLisp. It seems the project CVS hasn't been touched
in four years so I was wondering if anyone around here have experience
with ThinLisp?

http://sourceforge.net/projects/thinlisp/

The first four paragraphs of the readme file is rather interesting:

http://cvs.sourceforge.net/viewcvs.py/thinlisp/thinlisp-1.0/README?rev=1.2&view=auto

<README>
ThinLisp is an open source Lisp to C translator for delivering
commercial quality, Lisp-based applications.  It implements a subset of
Common Lisp with extensions.  ThinLisp itself is written in Common Lisp,
and so must run on top of an underlying Common Lisp implementation such
as Allegro, MCL, or CMU Lisp. The C code resulting from a translation
can then be independently compiled to produce a small, efficient
executable image.

ThinLisp is not a typical Lisp implementation in that it does not
implement a garbage collector or many of the other run-time development
features of other Lisps.  ThinLisp is designed for producing high
quality deliverable C libraries and executables from Lisp sources.
Originally designed for real-time control applications, ThinLisp
stresses run-time performance at the expense of some development time
conveniences.  This is exactly the opposite design philosophy from many
Lisps, but that's what makes this one thin!

ThinLisp is the current generation (4th) of a series of Lisp to C
translators used to deploy a large Lisp system (1 million lines) built
starting around 1990.

The emitted C code has been tested in the past on 19 different platforms
including Windows 95/98 and Windows NT for Intel and Alpha under both
Cygnus and Visual C; UNIXes from Linux, FreeBSD, Sun, HP, IBM, SGI,
Aviion, DEC UNIX, OSF, NEC, and Motorola; and VMS for VAX and Alpha.
Though it has been some time since those platforms have been checked, we
believe that there has been little change to the underlying C structures
used, and so the generated C code should remain extremely portable.
</README>

I particularly curious about the missing garbage collector.

I'm also looking into using ECL as another alternative to get the
desired output for distribution. It seems to support a wide combination
of hardware and operating systems as well as having the ability to
generate stand alone executables.

Thanks,
JCR
From: Carl Shapiro
Subject: Re: ThinLisp  and ECL ?
Date: 
Message-ID: <ouyr79ocft8.fsf@panix3.panix.com>
J.C. Roberts <···············@abac.com> writes:

> I particularly curious about the missing garbage collector.

ThinLisp was designed to translate the sources of a large expert
system which performed no free consing at runtime.  Much like in a
segregated-fit malloc implementation, all vectors and cons cells are
allocated from pools of preallocated objects and returned to those
pools for eventual reuse.