Next: rnrs hashtables, Previous: rnrs arithmetic bitwise, Up: R6RS Standard Libraries [Contents][Index]
The (rnrs syntax-case (6)) library provides access to the
syntax-case system for writing hygienic macros. With one
exception, all of the forms and procedures exported by this library
are “re-exports” of Guile’s native support for syntax-case;
See Syntax Case, for documentation, examples, and rationale.
Creates a new variable transformer out of proc, a procedure that
takes a syntax object as input and returns a syntax object. If an
identifier to which the result of this procedure is bound appears on the
left-hand side of a set! expression, proc will be called
with a syntax object representing the entire set! expression,
and its return value will replace that set! expression.
The syntax-case pattern matching form.
These forms allow references to be made in the body of a syntax-case output expression subform to datum and non-datum values. They are identical to the forms provided by Guile’s core library; See Syntax Case, for documentation.
These predicate procedures operate on syntax objects representing
Scheme identifiers. identifier? returns #t if obj
represents an identifier, #f otherwise.
bound-identifier=? returns #t if and only if a binding for
id1 would capture a reference to id2 in the transformer’s
output, or vice-versa. free-identifier=? returns #t if
and only id1 and id2 would refer to the same binding in the
output of the transformer, independent of any bindings introduced by the
transformer.
Returns a list, of the same length as l, which must be a list or a syntax object representing a list, of globally unique symbols.
These procedures convert wrapped syntax objects to and from Scheme datum
values. The syntax object returned by datum->syntax shares
contextual information with the syntax object template-id.
Constructs a new compound condition that includes the following simple conditions:
#f, a &who condition with the
whom as its field
&message condition with the specified message
&syntax condition with the specified form and optional
subform fields
Next: rnrs hashtables, Previous: rnrs arithmetic bitwise, Up: R6RS Standard Libraries [Contents][Index]