SL Baur <steve(a)xemacs.org> writes:
Lars, there are 459 usages of the `when' macro in the XEmacs
core, and
2584 usages in external Lisp source. `when' is *never* going away
regardless of whether we change the extension language.
Yes, but it wouldn't be Common Lisp `when', would it? It takes the
keywords :only-not-if, :otherwise-do-not and :not-when-otherwise-not.
These are *essential*. :-)
Now that I think about it, I think what I tried to say was this:
Common Lisp defines lots of functions that are very general. If I
know that there is a function called `delete-if', I can guess that it
takes a keyword :key -- all these functions do. However, if I use a
Scheme function `delete-if', I don't really know anything about it,
since the standard doesn't define such a function, which again means
that there's a local implementation, and I wouldn't know which
parameters it takes.
Common Lisp is huge. Scheme is tiny. Because of this, Scheme
implementations have to provide a gazillion home-baked function, all
with their twisty little parameter lists. This, in effect, means that
Scheme environments in general are more work to learn than Common Lisp
environments.
The issues that Common Lisp doesn't handle (buffers, marks, etc.),
Scheme doesn't handle either, so that's not really an issue, in my
opinion.
In the end, it may just come down to differences in taste, but I think
that CL enhances the productivity of programmers. Scheme, to me, is
manual *work*. It would make an excellent extension language for vi.
*duck*
--
(domestic pets only, the antidote for overdose, milk.)
larsi(a)ifi.uio.no * Lars Magne Ingebrigtsen