I stole the doto macro from clojure. Quite useful for GUI code in
particular. It might make a nice addition to miscmacros too.

(define-syntax doto
  (lambda (f r c)
    (let [(s (cadr f))
          (forms (cddr f))]
      `(let [(x ,s)]
         ,@(map (lambda (form)
                  (if (list? form)
                    `(,(car form) x ,@(cdr form))
                    `(,form x)))
                forms)
         x))))

martin

_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to