8.4 Literal sets and Conventions
Sometimes the same literals are recognized in a number of different places. The most common example is the literals for fully expanded programs, which are used in many analysis and transformation tools. Specifying literals individually is burdensome and error-prone. As a remedy, syntax/parse offers literal sets. A literal set is defined via define-literal-set and used via the #:literal-set option of syntax-parse.
(define-literal-set name-id (literal ...)) | ||||||||||
|
Examples: | ||||
| ||||
| ||||
s |
(define-conventions name-id (id-pattern syntax-class) ...) | |||||||||||||||||||||||||
|
Examples: | ||||
| ||||
context (lexical binding) expected 4 values, received 5 | ||||
values: #<syntax parse-identifier1> #<syntax description> | ||||
() () #f | ||||
| ||||
syntax-parse: expected identifier defined as a conventions | ||||
at: xyz-as-ids | ||||
| ||||
context (lexical binding) expected 4 values, received 5 | ||||
values: #<syntax parse-identifier1> #<syntax description> | ||||
() () #f | ||||
| ||||
syntax-parse: expected identifier defined as a conventions | ||||
at: xn-prefixes |