GENSYMLET

(defmacro gensymlet ((&rest bindings) &body body)
  (let ((keys (loop for n in bindings collect (first n)))
        (vals (loop for n in bindings collect (second n))))
    `(with-gensyms (,@keys)
       `(let (,,@(loop for j in keys
                       for k in vals collect ``(,,j ,,k)))
          ,,@body))))

This page is linked from: Common Lisp Utilities  

CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively