Common Lisp has a uhh.. recursive(?) version of /do/ that defines its
variables in a manner similar to /let*/, in the sense that they're
defined sequentially: later variables can refer to those previous.
Example:
(do* ((a '(1 2 3 4 5) (cdr a))
(b (car a) (car a)))
((eq '() a))
Alexej Magura agm2...@gmail.com writes:
I thought about writing my own, but I'm a bit rusty with scheme atm
and I couldn't figure out where /do/ is defined in Chicken's source
code, so I don't think I'd be able to implement it efficiently.
It's defined in expand.scm:1261 in CHICKEN core, as