[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
- To: common-lisp at sail
- From: ZVONA at MIT-MC
- Date: Wed, 06 Oct 1982 18:00:00 -0000
- Sender: ZVONA at MIT-OZ
I wasn't suggesting flushing LOOP, merely postponing its inclusion in
the white pages until people have had time to compare LetS. I suspect
that almost every LOOP expression can be re-written more perspicuously
with LetS, but this may not be true; in which case both might be
supported, and people could use whichever is appropriate to a problem.
Or it might be decided that since a new iteration macro comes along
every once in a while, none should be set in concrete.
Well I think we should flush DO from Common Lisp because in spite
of its utility, it is not "based on a strong theory of what loops
really are".
Well, if there were something that did more-or-less the same things as
DO, but had a clearer theory of what is going on, wouldn't you
consider flushing DO in favor of it? At least in your own code?
Seriously, I doubt very much that LetS will totally replace LOOP
among the tools I use any more than LOOP replaced DO. I am sick
to death of knee-jerk anti-LOOPism and I am beginning to
irrationally regard it as a plot to disable me as a programmer by
excommunicating my most useful tools.
A knee-jerk anti-LOOPist is someone that says "LOOP is a crock" and
doesn't suggest an alternative. I am not a knee-jerk anti-LOOPist. I
would use it in preference to DO if that was all that was available.
But I would still rather use something better. DO&, which I wrote,
had the advantage that the syntax was uniform and modeled on something
understood (DO), whereas LOOP's syntax is higgledy-piggledy and alien
to LISP. LetS is better because its syntax is exactly that of PURE
LISP EXPRESSIONS. Examples for flavor:
(defun copylist (list)
(Rlist (Elist list)))
(defun sum-first-n-integers (n)
(Rsum (Eint 1 n)))
-------