Paul Donnelly <paul-donnelly@[EMAIL PROTECTED]
> writes:
> I'm fairly grateful for WHEN and UNLESS. Why not WHILE?
(LOOP WHILE ...)
e.g.,
(let ((x 0)) (loop while (< x 3) do (print x) (incf x)))
0
1
2
=> NIL
- - - - -
I can't find a reference to it offhand right this second, but
I vaguely recall that at some point in time in previous dialects,
LOOP had the option of allowing keywords to all be macros themselves,
such that (WHILE ...) meant (LOOP WHILE ...), (FOR ...)
meant (LOOP FOR ...), but it was changed to avoid clutter of the
namespace and keep a lot of good names from being taken up.
This meant, implicitly, that there would not be opposition to
providing functionality in LOOP just because someone opposed the
chosen name... So-called "LOOP keywords" are compared by
symbol name, not by symbol identity, so their meaning in LOOP doesn't
compete with their meaning outside.


|