From: Thomas F. Burdick
Subject: Tail call optimizer
Date: 
Message-ID: <xcvvgjn6ele.fsf@famine.OCF.Berkeley.EDU>
So I was working on a large Emacs package this summer, and the company
that was going to buy it went under, leaving me the owner of a bunch
of code I don't particularly want.  I'm going through it, trying to
see if there's anything I can sell or use, or at worst to give away.
One part of this project generated code that had mutual tail calls
between at least 3 functions -- not wanting to blow the stack on
complex input, I wrote a tail-call optimizer (it was significantly
easier than changing the code generator to generate code that used
constant stack space).

So, would anyone be interested in this?  Portable optimized tail
calls, there's gotta be at least a couple people who came to lisp via
scheme who think this sounds good :).  If anyone wants to buy it (or a
license) from me, either for the elisp version or a cl port, I'd
gladly give you a good price.  Short of that, would anyone be
interested in a Free version in CL?  I don't think a port to CL would
be too difficult, and I'll have time enough next semester sitting
around the computer lab between questions about how to convert MS Word
footnotes to endnotes.

(In case anyone's interested, elisp does not have tagbody and go
 [grr], so the elisp version uses an interpreted tagbody.  Hey, the
 idea was to not blow the stack -- anyone interested in speed
 demonology wouldn't be using elisp in the first place :)