On this page:
8.7.1 Syntax classes
expr
identifier
boolean
str
char
keyword
number
integer
exact-integer
exact-nonnegative-integer
exact-positive-integer
id
nat
static
8.7.2 Literal sets
kernel-literals

8.7 Library syntax classes and literal sets

8.7.1 Syntax classes

Matches anything except a keyword literal (to distinguish expressions from the start of a keyword argument sequence). The term is not otherwise inspected, since it is not feasible to check if it is actually a valid expression.

Match syntax satisfying the corresponding predicates.

Alias for identifier.

(static predicate description)  (attributes value)
  predicate : (-> any/c any/c)
  description : (or/c string? #f)
The static syntax class matches an identifier that is bound in the syntactic environment to static information (see syntax-local-value) satisfying the given predicate. If the term does not match, the description argument is used to describe the expected syntax.

When used outside of the dynamic extent of a macro transformer (see syntax-transforming?), matching fails.

The attribute value contains the value the name is bound to.

8.7.2 Literal sets

Literal set containing the identifiers for fully-expanded code (Fully Expanded Programs). The set contains all of the forms listed by kernel-form-identifier-list, plus module, #%plain-module-begin, #%require, and #%provide.

Note that the literal-set uses the names #%plain-lambda and #%plain-app, not lambda and #%app.