Package macro-level
+ +Description
+Simply (:import-from #:macro-level #:
from your defpackage. Don't macro-level
)(:use)
!
diff --git a/docs/index.html b/docs/index.html index a19ed4d..71ae79f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,9 +12,11 @@
This page was last updated on .
+This page was last updated on .
@@ -119,23 +122,116 @@When used as part of a macroexpansion, macro-level
also conveniently relieves the macro implementor from naming and using a gensym
for the one-shot macro when compared to writing out a macrolet
by hand, in addition to the other advantages.
To use macro-level
, simply (macro-level:macro-level
...) after loading the ASDF system, as this macro is not used that often and the length won't have any effect on the indentation:
(macro-level:macro-level
- ...)
-;; VS
-(macro-level
- ...)
- Simply (:import-from #:macro-level #:macro-level)
in your defpackage
if you prefer the latter form. Don't (:use)
!
Simply (:import-from #:macro-level #:
from your defpackage. Don't macro-level
)(:use)
!
&body body => results
+ +Expands to `(macrolet ((,macro () ,@body)) (,macro))
where macro is a gensym.
Support could eventually be added to Slime so that interactive macroexpansion of macro-level
calls with C-c C-m (slime-expand-1
) would show the same expansion as interactively macroexpanding (m ...)
after (defmacro m () ...)
, assuming the lexical context is not important.
Support could eventually be added to Slime so that interactive macroexpansion of macro-level
calls with C-c C-m (slime-expand-1
)
would show the same expansion as interactively macroexpanding (m ...)
after (defmacro m () ...)
, assuming the lexical context is not important.