commit 84697ba2b48ff927e55017f6f90a23558f0791bf Spenser Truex <spensertruexonline@gmail.com> 2018-05-07 11:48:18 -0300 Added with-unique-names implementation-specific support for sbcl.
utils.lisp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/utils.lisp b/utils.lisp index 348ca96..a643780 100644 --- a/utils.lisp +++ b/utils.lisp @@ -10,7 +10,8 @@ :f ;; for y-combinator macro :abbrev :abbrevs - :mapatoms)) + :mapatoms + :group)) (in-package :utils) ;; Compose would work with with a reader macro for point-free notation. (defun mapatoms (function tree) @@ -54,6 +55,8 @@ b ; ; ; ; (funcall f (- a 1) (progn (print b) (+ b 1)))))|# (defmacro with-gensyms (symbols &body body) "Create gensyms for those symbols." + #+:sbcl `(with-unique-names ,symbols ,@body) + #-:sbcl `(let (,@(mapcar #'(lambda (sym) `(,sym ',(gensym))) symbols)) ,@body))