A Summary of Project so far [Why ANSI CL?]
Fri, 23 May 1997 11:44:01 -0500
| From: Breanndan O Nuallain <email@example.com>
| >>>>> "Dwight" == Dwight Hughes <firstname.lastname@example.org> writes:
| Dwight> ANSI Common Lisp will be the "standard" high level
| Dwight> programming language.
| Dwight> The intention is to make the LispOS the best LispOS it can
| Dwight> be -
| Thanks to Dwight for his summary of developments so far. I came in
| late so I haven't seen any discussion of why ANSI CL was chosen over
| other dialects. Neither does Dwight mention it in his summary.
| If the intention is to make the LispOS "the best LispOS it can be,"
| why not base it on Scheme? First class continuations and the Scheme
| macro system would seem to me to be desirable features of "the best
Yes, they are desirable features.
| Presumably, the main arguments against Scheme are that it lacks a
| package system, an exception system and such. But couldn't these
| things be provided for relatively easily? (I mean relative to adding
| continuations and hygienic macros to ANSI CL.)
| Does the choice of a Common Lisp reflect participants' bias as former
| Lisp machine users, or has Scheme had a fair crack of the whip?
Scheme has been discussed quite a bit - including basing LispOS on it.
Many of us, including myself, like it -- but the list of things Scheme
lacks or needs are, for the most part, already part of ANSI CL (perhaps
not in an absolutely ideal form, but present nevertheless). There is
also the practical consideration that there does not seem to be
a Scheme available that can compile to x86 native code *and* that is
written almost entirely in Scheme (not C). We want to be able to break
clean from Un*x and the dependence on C compilers -- CMU-CL has the
advantage that it has very little written in C, so weaning it from Un*x
should be doable.
I should note that ANSI CL is the "high-level" standard -- for programming
the LispOS environment and UI. For programming the guts of the LispOS we
are looking at various alternatives -- one is a true Kernel Lisp that
will have some similarities to Scheme.