Christopher Howard <christopher.how...@qlfiles.net> writes: > Hi list, I want to have a function > > (repeat n exp exp* ...) > > That calls the expressions n times for side effect, like for-each, but > without the bother of dealing with a list. It seems like somebody else > must have thought of this before, but I couldn't find the equivalent > procedure. After reading 6.10.2 I came up with this > > (define-syntax repeat > (syntax-rules (repeat) > ((_ n exp exp* ...) > '(unless (<= n 0) > exp > exp* > ... > (repeat (- n 1) exp exp* ...))))) > > Which doesn't work I think because repeat gets expanded infinitely many > times. I was pondering other ways to do this, but they all seem to end > in either infinite expansion, or an important variable getting > overshadowed. So, could somebody point me in the right direction?
Do you want to evaluate the expressions during macro-expand-time or run-time?
signature.asc
Description: PGP signature