[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CSI Lisp Price



    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
-------