define-syntax .. | Syntax |
Pattern ... |
defmacro name lambda-list form ... | Syntax |
Defines an old-style macro a la Common Lisp,
and installs (lambda lambda-list form ...)
as the expansion function for name.
When the translator sees an application of name,
the expansion function is called with the rest of the application
as the actual arguments. The resulting object must be a Scheme
source form that is futher processed (it may be repeatedly macro-expanded).
If you define a macro with |
gentemp | Function |
Returns a new (interned) symbol each time it is called.
The symbol names are implementation-dependent.
(This is not directly macro-related, but is often used in conjunction
with defmacro to get a fresh unique identifier.)
|
cond-expand cond-expand-clause* [(else command-or-definition*)] | Syntax |
cond-expand-clause ::= The A feature requirement has an obvious interpretation as a logical
formula, where the feature-identifier variables have meaning true if the feature corresponding to the feature identifier, as specified in the
SRFI registry, is in effect at the location of the Examples: (cond-expand ((and srfi-1 srfi-10) (write 1)) ((or srfi-1 srfi-10) (write 2)) (else)) (cond-expand (command-line (define (program-name) (car (argv))))) The second example assumes that |