[iterate-devel] using keywords in clauses

Joerg-Cyril.Hoehle at t-systems.com Joerg-Cyril.Hoehle at t-systems.com
Wed Oct 17 12:55:16 UTC 2012


Hi,

I don't know if I qualify as a maintainer, however you'll see from the
ChangeLog that I've spent a lot of effort a few years ago to make
Iterate work in an ANSI-CL environment and fix numerous bugs.
I would not appreciate new developments that kill the original design.

Zach is very right. Packages are the CL way to have Iterate deal
with extensions. That's why Iterate keys all extensions on symbols.
symbols => packages.

Iterate is not LOOP. With loop, all clause "keywords" are found flat in the
top-level list, that's why their packages don't matter (except for CL:LOOP).

Zach suggested
>(iterate:defsynonym :for iterate:for)
Not sure if that works, because of the order of tests in the parser.
It would be a fancy user-level hack.  By that I mean it's a nice text
book example, and a user may like it and use it in his/her code.
But don't release code and libraries with that because as Zach pointed
out, it would kill extensibility as several extensions would fight for
the same keyword!
That conflict does not happen with symbols of different packages.

Paraphrasing KMP, CL is a tool for building large systems.
Don't break that.

Regards,
 Jörg Höhle



More information about the iterate-devel mailing list