[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Scheme as a standard extension language
It sounds like you're saying that you prefer Scheme to Common Lisp
because Scheme is "smaller", but Scheme is missing things that you
need, so you'll have to extend it. Well, if you think about it, this
shows why Common Lisp is the size that it is: it contains a whole lot
of stuff that people have needed from time to time. Once you put in
all the extensions to Scheme that you'll find you want to have, the
difference in size will not be as great.
When people talk about the "size of Common Lisp", whether they be
measuring the size of executable files or the reference manual, they
are really talking about the language plus a huge library of functions
that are useful to some people some of the time.
It is possible to construct a Common Lisp implementation in which an
executable doesn't pay for the parts of the library that it doesn't
use. I have heard that various Lisp implementors, such as Lucid and
Franz and possibly others, have done work in this area, but I don't
know any of the details. The decision of a standard extension
language for the CFI is important. If you really want to find out the
lowdown on this whole topic, I strongly recommend you talk to the
experienced, professional Lisp implementors at such companies, and
see what they can tell you. Of course, there are also experienced
Scheme implementors around, too, who you might want to talk to.
Of course, if you're considering an extended Scheme, you could equally
well consider a subset of Common Lisp.
Despite my role in defining Common Lisp, I do agree that Scheme has
advantages. Its main advantage is that it's more internally clean and
simple; Common Lisp was required to maintain all kinds of
compatibility with older Lisp dialects, whereas the Scheme designers
started from a tabula rasa and worked hard on elegance and simplicity.
The only counterbalancing argument might be that Common Lisp is
becoming more of a "standard", although Scheme is also something of a
standard in its own right; I'm not sure how much this matters in the