3 Syntactic Forms🔗ℹ
This section describes the core syntax forms that appear in a fully
expanded expression, plus many closely related non-core forms.
See Fully Expanded Programs for the core grammar.
3.1 Modules: module, module*, ... |
3.2 Importing and Exporting: require and provide |
3.2.1 Additional require Forms |
3.2.2 Additional provide Forms |
3.3 Literals: quote and #%datum |
3.4 Expression Wrapper: #%expression |
3.5 Variable References and #%top |
3.6 Locations: #%variable-reference |
3.7 Procedure Applications and #%app |
3.8 Procedure Expressions: lambda and case-lambda |
3.9 Local Binding: let, let*, letrec, ... |
3.10 Local Definitions: local |
3.11 Constructing Graphs: shared |
3.12 Conditionals: if, cond, and, and or |
3.13 Dispatch: case |
3.13.1 Variants of case |
3.14 Definitions: define, define-syntax, ... |
3.14.1 require Macros |
3.14.2 provide Macros |
3.15 Sequencing: begin, begin0, and begin-for-syntax |
3.16 Guarded Evaluation: when and unless |
3.17 Assignment: set! and set!-values |
3.18 Iterations and Comprehensions: for, for/list, ... |
3.18.1 Iteration and Comprehension Forms |
3.18.2 Deriving New Iteration Forms |
3.18.3 Iteration Expansion |
3.18.4 Do Loops |
3.19 Continuation Marks: with-continuation-mark |
3.20 Quasiquoting: quasiquote, unquote, and unquote-splicing |
3.21 Syntax Quoting: quote-syntax |
3.22 Interaction Wrapper: #%top-interaction |
3.23 Blocks: block |
3.24 Internal-Definition Limiting: #%stratified-body |
3.25 Performance Hints: begin-encourage-inline |
3.26 Importing Modules Lazily: lazy-require |