gives access to anaphoric variants of operators through one macro: ANAPHORIC. The user explicitly provides a variable name, preserving sanity, in contrast to the traditional use of an evil implicit variable ("IT"). Some operators can bind additional handy variables when explicitly requested.
Here's a trivial example:
And here's a bit more interesting one:
Currently supported anaphoric variants:
(and or cond if when unless prog1 case ccase ecase typecase ctypecase etypecase)
It's also possible to make your own variants. Check definitions.lisp in particular for inspiration.
anaphoric-variants is in Quicklisp:
See the project's home for further information.
This library is in the Public Domain. See the UNLICENSE file for details.
anaphoric-variants is an alternative to anaphora.