[FoRK] Bone's Corollaries to Philip Greenspun's 10th Rule of
<meltsner at alum.mit.edu> on
Sat Feb 24 10:25:04 PST 2007
On 2/24/07, Luis Villa <luis at tieguy.org> wrote:
> On 2/24/07, Ken Meltsner <meltsner at alum.mit.edu> wrote:
> > Came across ThinLisp -- Lisp -> C translation that produces readable C
> > code. Anyone else try it?
> Why would one do that? Portability/speed concerns? Or...?
Sounds like portability concerns and performance -- it's a dialect
that's highly selective as to the features it supports. From the
history page at the site:
... Some of the companies that came out the AI boom continued to
investigate ways to solve their delivery problems with Lisp. One
tactic was to carve a subset of the language and focus their the
engineering on that. They might trim away some of the rich parameter
passing mechinisms, or parts of the garbage collector, or details
about the error handling.
Another tactic was to try to leverage the resources of the C language
community more effectively. On the one hand this might mean linking in
large bodies of C code. On the other hand it often meant translating
the Lisp sources into C code and then compiling them using the native
C compiler. This last was particularly valuable when porting to
platforms where the available Lisp compilers were quickly build and
not widely used.
ThinLisp uses both of these techniques. It translate to Lisp into C
for the production delievered version. The translator handleds a large
useful subset of Common Lisp, which we have found fits the needs of
the systems we build.
ThinLisp was written originally by Jim Allard in the early min 1990s.
It was written at Gensym in Cambridge and was the four [sic]
generation of a series Lisp dialects used there for building hundreds
of thousands of lines some sucessful large multiplatform systems.
In spring on 1999, after Jim had left Gensym, Gensym decided not to
adopt ThinLisp (then called GLT) for there production use for the
usual assortment of buisness reasons. Instead Gensym decided to donate
GLT to the Open Source community rather than let the code gather dust
in some vau
More information about the FoRK