> 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
       ,@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))

_______________________________________________
Cmdist mailing list
[email protected]
http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist

Reply via email to