[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Blessing cl functions
Blessing cl functions
Sun, 21 Sep 2003 01:31:37 +0200
Gnus/5.090016 (Oort Gnus v0.16) Emacs/20.7 (gnu/linux)
[Continuing an old thread here.]
Richard Stallman <address@hidden> wrote:
> I am willing to consider a small number of functions for inclusion
> as standard parts of Emacs. I don't have time to consider a large
> number, and I can't agree to them without considering them.
Then please take a look at as many as you are able to. I think it
bears repeating though, that the lack of such fundamental tools
continually hampers development in the small scale. Adding just a few
functions every year means almost unbearably slow progress in this
> I do not like the Common Lisp style of using keyword arguments
> for many common functions.
For functions that take a whole set of optional arguments I can't
think of any better alternative; keywords are at least better than
position-based argument passing. However they do incur higher runtime
overhead, but that should be possible to avoid with macros. Common
special cases can also be optimized to C level implementations. I can
devote some time to it if that would help matters.
> I basically do not have a very high opinion of many of the decisions
> that were made in Common Lisp.
The reasons for going with incompatible solutions would have to be
pretty strong, though, since the cl functions are de-facto used in
many packages (also those distributed separately). Nonconflicting
names would be a necessity to begin with, but even then one has to
consider the added confusion with two different libraries for the same
thing. The new library would have to be a lot better designwise to
motivate its existence, and when it comes to such basic stuff like
this I can't see how it can be done much differently.
> Adding the feature for iterating over multiple lists to mapc and
> mapcar is fine with me. I left that out only because I did not want
> to do the work implement it. If you want to write this, and do a
> clean job, by all means do it.
I could do that, especially if it would mean that the other mapping
functions (maplist, mapl, mapcan, mapcon, some, every, notany, and
notevery) got in too. None of those have keyword arguments, anyway.
(I probably have to extend my copyright assignment agreement first,
since it only covers CC Mode currently.)
- Blessing cl functions,
Martin Stjernholm <=