[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CSI Lisp Price
- To: linus!ramsdell@MITRE-BEDFORD
- Subject: Re: CSI Lisp Price
- From: Jim Meehan <Meehan@YALE.ARPA>
- Date: Tue ,16 Jul 85 11:17:55 EDT
- Cc: T-Discussion@YALE.ARPA
- In-reply-to: linus!ramsdell@MITRE-BEDFORD.ARPA, 15 Jul 1985 17:31:47-EDT
If CSI Lisp can't do tail recursion correctly, its not
worth $10. Using the names T and SCHEME in your ads,
is a fraud!
John
I'm sorry you think so. I think T stands for a lot of good ideas,
like clean semantics, mnemonic names, objects & operations, an absence
of clutter, semantic equivalence between interpreted and compiled code,
free-standing read-table, syntax-tables, and environments, etc., etc.,
etc. If an implementation doesn't happen to do everything right, I
suppose you can say it isn't T, but then there's never been an
implementation of T, since even the Yale versions have bugs and
omissions. LOCALE, for example, has never worked correctly. (In fact,
we got it to work correctly in the interpreter, but since the compiler
couldn't also handle it, we took it out entirely.) Or try compiling
(lambda (x) (let ((f (lambda () (g x)))) (f) (h f x))). The T compiler
often goes down in flames with CATCH/BIND combinations; etc., etc.,
etc.
You can pick and choose the features that define T-ness for you, and
if tail-recursion is one of them, then at the moment, only the Apollo
version of CSI LISP qualifies for you. If the absence of TRE made
some radical number of programs break, I wouldn't release a system
without it. The example that comes to mind is the well-known
implementation of Common Lisp that fails to implement lexical scoping.
(Talk about fraud ...!)
This discussion reminds me of Yale reunion weekends, where all the
Old Blues wander around the campus, and noting the presence of female
undergraduates or the absence of compulsory chapel, say, "Nope. It
isn't Yale any more."
-- Jim Meehan, JE '71
-------