Previous: Extensibility Aids, Up: Rolling Your Own


7.4 Subtleties

There are some subtleties to be aware of when writing iterate clauses. First, the code returned by your macros may be nconc'ed into a list, so you should always returned freshly consed lists, rather than constants. Second, iterate matches clauses by using eq on the first symbol and string= on the subsequent ones, so the package of the first symbol of a clause is relevant. All of the clauses in this manual have their first word in the iterate package. You can use the package system in the usual way to shadow iterate clauses without replacing them.