lispCommon Lisp ã®ãã¯ãã®èå¾ã§ä½ãè¡ããã¦ããã®ãããã¾ãã¡åãããªãã£ãã®ã§ãå°ã詳ããè¦ã¦ãããã¨ã«ãããOn Lisp ã®7ç« ãã¯ã ã«ã¯ãdefmacro 㨠macroexpand-1 ã®å é¨å¦çã Lisp ã§ã¨ãã¥ã¬ã¼ãããã³ã¼ããç´¹ä»ããã¦ããã (defmacro our-expander (name) `(get ,name 'expander)) (defmacro our-defmacro (name parms &body body) (let ((g (gensym))) `(progn (setf (our-expander ',name) #'(lambda (,g) (block ,name (destructuring-bind ,parms (cdr ,g) ,@body)))) ',name))) (defun our-macro
{{#tags}}- {{label}}
{{/tags}}