Where to get it

Iterate has spent most of its life in the CMU AI archive as a lisp
file for pre-ANSI Common Lisps. Some people have adapted it to other
implementations, but the most activly maintained version right now is
the one you find here.

You can get the latest version with darcs (this is the recommended way):

Several lines of compiler output will come up; you'll be asked if you
want to accept my GPG key, if you have
gnupg installed, and after that, you have iterate installed.

If you don't have ASDF-INSTALL in your lisp, but you have ASDF, you
can just grab the latest tarball at
http://common-lisp.net/project/iterate/releases/iterate-current.tar.gz and unpack
it into a directory, say /home/you/iterate-1.0.4. Make a symbolic
link called iterate.asd from your asdf:*central-repository*
directory to the file /home/you/iterate-1.0.4/iterate.asd, and
you're ready to use iterate.

How to make it available to your code

If you're using ASDF (highly recommended), have :iterate on the
:depends-on list to your system, like this:

A named block in an iterate form lets you perform operations inside the context of that
named form from iterate forms nested inside it. So here, in this example, we collect all elements
in a two-dimensional array in a flat list.
The loop equivalent isn't very nice.

You can find more documentation on iterate and its features (there are
a lot more than I can demonstrate in this document!) in the doc/
directory in your iterate distribution.

Development

There is a darcs repository for iterate on common-lisp.net.
You can
browse the repository or get the tree with the following command line: