clispのwith-gensyms
OnLispのP.149でwith-gensymsを定義しているのだが,clispにはもともとマクロで定義されている.
Similar to its namesake from Paul Graham's book “On Lisp”, this macro is useful for writing other macros:
(with-gensyms ("FOO-" bar baz zot) ...)expands to
(let ((bar (gensym "FOO-BAR-")) (baz (gensym "FOO-BAZ-")) (zot (gensym "FOO-ZOT-"))) ...)31.11.6. Macro EXT:WITH-GENSYMS
[192]> (macro-print '(with-gensyms ("HOGE-" bar baz) bar)) (LET ((BAR (GENSYM "HOGE-BAR-")) (BAZ (GENSYM "HOGE-BAZ-"))) BAR)