Hi, I just downloaded iterate 1.0.9 from common-lisp.net and tried it with ACL 7.0 beta. Unfortunately, I get a stack overflow error (see the backtrace below) when I do the following: 1. compile (and load) package.lisp and iterate.lisp 2. evaluate (in-package iterate) 3. try out the example from the readme (iterate (generate i from 0 to 6) (for (key . value) in '((a . 2) (zero . 10) (one . 20) (d . 5))) (when (>= value 10) (collect (cons key (next i))))) This is not critical for me (I'll just use an older version of iterate that I've been using for the last 4 years and that has no problems with your example or with my programs in general), but I thought you might want to know this. Sorry that I don't come with a fix, but I don't have the time for debugging this right now. Regards, Arthur --------- Stack overflow (signal 1000) [Condition of type EXCL:SYNCHRONOUS-OPERATING-SYSTEM-SIGNAL] Restarts: 0: [CONTINUE] continue computation 1: [ABORT] Abort handling SLIME request. 2: [ABORT] Abort entirely from this (lisp) process. Backtrace: 0: (SWANK::DEBUG-IN-EMACS #<EXCL:SYNCHRONOUS-OPERATING-SYSTEM-SIGNAL @ #x20888ea2>) 1: ((FLET SWANK:SWANK-DEBUGGER-HOOK SWANK::DEBUG-IT)) 2: (SWANK:SWANK-DEBUGGER-HOOK #<EXCL:SYNCHRONOUS-OPERATING-SYSTEM-SIGNAL @ #x20888ea2> #<Function SWANK-DEBUGGER-HOOK>) 3: (CERROR "continue computation" EXCL:SYNCHRONOUS-OPERATING-SYSTEM-SIGNAL :FORMAT-CONTROL "Stack overflow (signal 1000)" :FORMAT-ARGUMENTS NIL) 4: (SPECIAL-OPERATOR-P :UNKNOWN) 5: (SYSTEM:FUNCTION-INFORMATION COND NIL) 6: (MACROEXPAND-1 (COND ((>= VALUE 10) NIL (COLLECT (CONS KEY (NEXT I))))) NIL) 7: (MACROEXPAND (COND ((>= VALUE 10) NIL (COLLECT (CONS KEY (NEXT I))))) NIL) 8: (WALK (COND ((>= VALUE 10) NIL (COLLECT (CONS KEY (NEXT I))))) NIL) 9: (WALK (COND ((>= VALUE 10) NIL (COLLECT (CONS KEY (NEXT I))))) NIL) 10: (WALK (COND ((>= VALUE 10) NIL (COLLECT (CONS KEY (NEXT I))))) NIL) 11: (WALK (COND ((>= VALUE 10) NIL (COLLECT (CONS KEY (NEXT I))))) NIL) 12: (WALK (COND ((>= VALUE 10) NIL (COLLECT (CONS KEY (NEXT I))))) NIL) 13: (WALK (COND ((>= VALUE 10) NIL (COLLECT (CONS KEY (NEXT I))))) NIL) 14: (WALK (COND ((>= VALUE 10) NIL (COLLECT (CONS KEY (NEXT I))))) NIL) 15: (WALK (COND ((>= VALUE 10) NIL (COLLECT (CONS KEY (NEXT I))))) NIL) 16: (WALK (COND ((>= VALUE 10) NIL (COLLECT (CONS KEY (NEXT I))))) NIL)