Syntax Parameters
usage
(import :std/stxparam)
Macros
defsyntax-parameter
(defsyntax-parameter id default)
Please document me!
defsyntax-parameter*
(defsyntax-parameter* macro param (errmsg "Bad syntax")) -> macro
macro := name of the generated macro
param := name of the syntax parameter
errmsg := custom error message
Expands into a macro with name macro which itself expands into
the value of the syntax-parameter
param. The optional errmsg can
be used to customize syntax error reporting.
Examples:
(defsyntax-parameter* @message @@message "Bad syntax; not in reaction context")
You can now syntax-parameterize
a "parent" macro with the @@message
parameter.
This will allow "children" macros to use the @message
macro as a
syntax-parameter
whose value is bound by the parameterization of @@message
.
That allows you to pass syntactic information down from a parent macro
to its children without using with-syntax
in every one of them.
The @@message
syntax parameter can also be cleanly re-parameterized without
affecting existing macros.
See Keeping it Clean with Syntax Parameters and std/actor-v18/message.ss.
syntax-parameterize
(syntax-parameterize ((syntax-parameter value) ...)
body ...)
Please document me!
Syntax Bindings
For syntax bindings [phi=+1] for use in macros.
syntax-parameter
(defclass syntax-parameter (key default))
Please document me!
syntax-parameter-value
(syntax-parameter-value id-stx)
Please document me!
syntax-parameter-e
(syntax-parameter-e param)
Please document me!