[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Iteration Status
Since FOR/LOOP in lisp
is at least 15 years old, it is certainly not "premature" to standardize
on it.
For something like an iteration package, its virtues and problems can
only be appreciated in actual use -- nobody is really going to know what
he likes just from reading documents. In all of the 15 years you speak
of, the FOR/LOOP stuff has mostly been confined to Interlisp and to the
progeny of the MIT Lisp Machine. Therefore, only a fraction of the
Common Lisp community has had day-to-day access to this facility. If
the people who had used this facility were unanimous in singing its
praises, that might be sufficient experience, but they are not.
It seems that we are divided along a couple of axes:
Some people like the bag-of-tricks approach that LOOP provides, some
people think DO is sufficient, and some people want something based on a
more unified (if less flexible) theory, such as LetS.
For a package of LOOP-like things, some people like the cute
pseudo-English syntax, and some hate this, preferring that phrases
(operators and their arguments) be glued together with parentheses
rather than "from", "to", "whereas", and their friends.
We always get about this far and then bog down in irreconcilable
religious differences. It seems to me that the right approach for
people who want to push some package that goes beyond DO is to design
something that they really like, put out a public-domain portable
version, and encourage people to try it. A year later, if all goes
well, they should be in a position to say "look, we're all using this,
let's standardize it". That assumes that the people who think they
don't like package X are willing to try it, and that once they try it
they realize that they like it after all. If we remain divided, I think
that having several competing solutions available in portable form is a
livable solution, though obviously not optimal.
-- Scott