Subject: Re: The LOOP macro (was Re: Be afraid of XML)
From: (Rob Warnock)
Date: Mon, 15 Mar 2004 06:41:41 -0600
Newsgroups: comp.lang.lisp
Message-ID: <>
Pascal Bourguignon <> wrote:
| In any case, my point is that the standard is under specifying
| and muddy, and I'd try to avoid the muddiest parts.

I don't think we disagree all that much here.

| After been bitten by the extended LOOP mud monster, I consider it
| to be muddy enough to be avoided. The semantics of DO and DO* is
| completely clear in comparison.

On this point we should probably agree to disagree. Personally, while I
initially did find LOOP to be large, complex, & confusing, I now find a
fairly large subset of LOOP to be perspicuous enough, and for a number
of common tasks to be considerably more convenient that DO/DO*, particularly
given features like iteration variable destructuring and COLLECT/COUNT/SUM/&c.

And while I certainly still use DOTIMES, DOLIST, and DOHASH[1] where they
fit the task, I seldom find myself using DO/DO* any more. FWIW.


[1] In CLISP, that is. In CMUCL, it's called DO-HASH (with the same args),
    but a trivial renaming macro fixes that. (And besides, it's easy enough
    to define from scratch.)

Rob Warnock			<>
627 26th Avenue			<URL:>
San Mateo, CA 94403		(650)572-2607