Hi there! It is known that loop macro allows keywords as clause start designators: (loop :for i :from 1 :to 10 :collect i) So do many html generation libs, e.g. cl-who:
(:a :href ...)
Iterate didn't do that and it caused problems while using iterate in conjunction with other libraries such as cl-utilities which defines collecting and collect macros.
I patched iterate so that it can use keywords now:
(iter:iter (:for i :from 1 :to 5) (when (oddp i) (:collect i)) (:finally (print "hurray!")))
So one need no more to import any symbols from iterate (maybe except iter itself).
I also added test of "iterate with keywords" to a regression test suite. you can find a patch and a new file here.
http://paste.lisp.org/display/69869
Discussion (currently empty) can be found here:
http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/f252c7931...
Would iterate developers like to incorporate the changes to the main branch?
If not, would you object against creating separate iterate-keywords project on the net?
best regards
Denis Budyak
Hi,
[short response, given lack of time]
Denis Budyak wrote:
Iterate didn't do that and it caused problems while using iterate in conjunction with other libraries such as cl-utilities which defines collecting and collect macros.
Did you look into DEFSYNONYM?
Regards, Jörg Höhle
Hi! Now patched version can be downloaded from
wow, you've registered nothing less than a sourceforge project for this?!