Defmacros are supported by all implementations.
Returns a new (interned) symbol each time it is called. The symbol names are implementation-dependent
(gentemp) ⇒ scm:G0 (gentemp) ⇒ scm:G1
Returns the
slib:evalof expanding all defmacros in scheme expression e.
filename should be a string. If filename names an existing file, the
defmacro:loadprocedure reads Scheme source code expressions and definitions from the file and evaluates them sequentially. These source code expressions and definitions may contain defmacro definitions. Thedefmacro:loadprocedure does not affect the values returned bycurrent-input-port,current-error-port, andcurrent-output-port.
If form is a macro call,
macroexpand-1will expand the macro call once and return it. A form is considered to be a macro call only if it is a cons whosecaris a symbol for which adefmacrohas been defined.
macroexpandis similar tomacroexpand-1, but repeatedly expands form until it is no longer a macro call.
When encountered by
defmacro:eval,defmacro:macroexpand*, ordefmacro:loaddefines a new macro which will henceforth be expanded when encountered bydefmacro:eval,defmacro:macroexpand*, ordefmacro:load.