[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[CL.BOYER@UTEXAS-20.ARPA: loop & defmacro]
Received: from TL-20B.ARPA by TL-20A.ARPA with TCP; Sun 9 Dec 84 17:41:26-EST
Received: from UTEXAS-20.ARPA by TL-20B.ARPA with TCP; Sun 9 Dec 84 17:40:40-EST
Date: Sun, 9 Dec 1984 16:38 CST
Cc: rpg@su-ai, hedrick@rutgers
Subject: loop & defmacro
Since RPG named you as moderator of the "iteration/loop" subgroup
I haven't seen any mail on the subject. Has there been any?
In my opinion, LOOP is pretty good as it is and should be
adopted as part of Common Lisp. If I had my way, I would
add to it something that was subtracted from the Interlisp
I.S.OPR when LOOP was coded, namely the ability to add more
I.S.OPRS. For example, I now write in Zetalisp:
(loop for x in l with ans = 0
do (setq ans (logor x ans))
finally (return ans))
where I would like to write
(loop for x in l logor x).
I used to be able to write something like that in Interlisp,
which has a facility for defining the initial, iterative,
and final action of a new "quantifier" such as logor.
Anyway, that's my 2-bits worth.
Finally, and totally unrelatedly, is it true that
(defmacro foo x ...)
is not permited in Common Lisp and that
I need to write
(defmacro foo (&whole x) ...)?
I'm trying to find some common ground with psl and the maclisp
dialects, but it doesn't look like there is a general
purpose intersection. As I read it, a lambda list has
to be a list, and that excludes a symbolp.
P.S. Hedrick's 2060 Common Lisp permits (defmacro foo x ...).