Copyright (C) 2000-2012 |
GNU Info (slib.info)DefmacroDefmacro ======== Defmacros are supported by all implementations. - Function: gentemp Returns a new (interned) symbol each time it is called. The symbol names are implementation-dependent (gentemp) => scm:G0 (gentemp) => scm:G1 - Function: defmacro:eval e Returns the `slib:eval' of expanding all defmacros in scheme expression E. - Function: defmacro:load filename FILENAME should be a string. If filename names an existing file, the `defmacro:load' procedure reads Scheme source code expressions and definitions from the file and evaluates them sequentially. These source code expressions and definitions may contain defmacro definitions. The `macro:load' procedure does not affect the values returned by `current-input-port' and `current-output-port'. - Function: defmacro? sym Returns `#t' if SYM has been defined by `defmacro', `#f' otherwise. - Function: macroexpand-1 form - Function: macroexpand form If FORM is a macro call, `macroexpand-1' will expand the macro call once and return it. A FORM is considered to be a macro call only if it is a cons whose `car' is a symbol for which a `defmacro' has been defined. `macroexpand' is similar to `macroexpand-1', but repeatedly expands FORM until it is no longer a macro call. - Macro: defmacro name lambda-list form ... When encountered by `defmacro:eval', `defmacro:macroexpand*', or `defmacro:load' defines a new macro which will henceforth be expanded when encountered by `defmacro:eval', `defmacro:macroexpand*', or `defmacro:load'. Defmacroexpand -------------- `(require 'defmacroexpand)' - Function: defmacro:expand* e Returns the result of expanding all defmacros in scheme expression E. automatically generated by info2www version 1.2.2.9 |