Re: ITERATE: old software, ported to the 21st century

Andreas Fuchs <[email protected]> Wed, 17 Dec 2003 09:35:32 +0100
Newsgroups gmane.lisp.clump
Message-ID <86smjjj0yz.wl%[email protected]>
On 2003-12-16, Andreas Fuchs <[email protected]> wrote:
> For fun, I ported the ITERATE macro package from the CMU AI
> repository
> (http://www-2.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/code/iter/iterate/0.html)
> over to ANSI Common Lisp. In short, the ITERATE macro is an
> extensible, more flexible and more lispy replacement for LOOP.

I was asked in private mail what the difference between the version on
boinkor.net and the one included in screamer is. First, I noticed that
it's in screamer after I had done the porting already. Second, this
version implements efficient hash table and package enumeration
(i.e. it's using with-{package,hashtable}-iterator). Third, it
compiles even in SBCL without errors, style-warnings or compiler
notes. (-:

While we're at it, this is the todo list:

 * look more closely at the screamer source and copy over any fixes
   they made (a simple diff -u didn't reveal anything too
   enlightening, though)
 * a regression test suite
 * ansi common lisp compatibility tests; so far, I encountered no
   incompatibilities or strange failures yet, but that might change
   with more users.

In other news, Kevin Rosenberg volunteered to make it a debian package
soon. Thanks!

Have fun,
-- 
Andreas Fuchs, <[email protected]>, [email protected], antifuchs