[iterate-devel] if-first-iteration
Attila Lendvai
attila.lendvai at gmail.com
Sat Jan 7 01:34:42 UTC 2006
hi!
thanks for iterate, it's coool! :)
i'm new to lisp, and while hacking i was missing if-first-iteration
which is enclosed in the mail. sorry for a simple paste, but learning
arch seems to be a bigger task then writing the actual feature. it was
fun looking at a complex macro lib.
bear with me if the code is naive, i'm way too new to lisp for patches
like this.
i think the clause name tells it all, feel free to include.
happy coding,
- attila lendvai
(def-special-clause IF-FIRST-ITERATION (then &optional else)
(setf then (list (walk-expr then)))
(setf else (list (walk-expr else)))
(let ((var (make-var-and-binding 'first-iteration t :type 'boolean)))
(return-code :body (list (if else
`(cond
(,var , at then)
(t , at else))
`(when ,var
, at then)))
:step (list `(setf ,var nil)))))
More information about the iterate-devel
mailing list