ThinLisp: History
Home
Whitepaper
Rant
Mailing Lists
History
Examples
Download
Bug Database
Contributors

Lisp is a very old (i.e. 1950s) language. From the point of view of our story let me pick the story up in the 1980s with the so called "AI" boom. During this period large sums of capital where invested in a few dozen startups few of which survived. The AI boom failed because there was a very shallow pool of labor that was expert in AI techniques, and it was a very very small proportion of those who were familiar with the praticalities of real world software projects and markets.

One symptom of that was that good Lisp implementations tended to appear on computers that where neat, but not on the computers that users actually owned. The practical concequence of that was that when applications where ported to the hardware the user owned they were slow and horribly buggy.

As the AI boom receeded those that participated in it drew very different conclusions about what it all meant. Some participants decided that Lisp just wasn't a practical language for either social or technical reasons. They might be heard to say: "It will always be N% slower that C code," or "the that can use it is too scarce", or "that the politics of getting it's use approved are too expensive."k

Some concluded that Lisp only lacked a sufficently high quality compiler and sufficently careful engineering of it's garbage collector.

Some concluded that a new language, Java say, was called for that could mimic C's style by reclaim some of Lisp's semantics.

Meanwhile

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.

So

ThinLisp was written originally by Jim Allard in the early min 1990s. It was written at Gensym in Cambridge and was the four 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 vault.