> ive even gotten used to the (do () ) abomination (still often wish
> for do* )
would this work?
(defmacro do* (spec end . body)
`(let* (,@(map (lambda (var) (list (car var) (cadr var))) spec))
(do () ,end
, at body
,@(map (lambda (var) (list 'set! (car var) (caddr var))) spec))))
;(do* ((i 0 (+ i 1)) (j i (+ i 1))) ((= i 3) "hiho") (display j))