Martin Buchholz <martin(a)xemacs.org> writes:
That was me. I thought I could implement this in half an hour, but
it
turned out to be more difficult. A general solution might involve a
macro. It's essential that 2-argument forms of the arithmetic
functions pay no performance penalty.
If macros are used to implement multi-arg functions, they need to be
defined very early, and should be clever about the nature of the args.
For example,
(= x y z)
=> (and (=2 x y) (=2 y z))
(where =2 is the ordinary 2-arg operator)
No no, this is wrong. First, funcalls are very slow in Emacs, so
things would slow down for a large number of argument. Second, macros
lose with things such as `apply'; in CL, the following code returns
non-nil if LIST is monotonous:
(apply '< LIST)
If we don't implement the CL functionality fully, it's better not to
bother with it at all...
--
Hrvoje Niksic <hniksic(a)srce.hr> | Student at FER Zagreb, Croatia
--------------------------------+--------------------------------
Old numerical analysts never die, they just get disarrayed.