[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]

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)))