Version: 5.1.3

Syntax: Meta-Programming Helpers

    1 Syntax Object Helpers

      1.1 Deconstructing Syntax Objects

      1.2 Matching Fully-Expanded Expressions

      1.3 Hashing on bound-identifier=? and free-identifier=?

      1.4 Identifier dictionaries

        1.4.1 Dictionaries for bound-identifier=?

        1.4.2 Dictionaries for free-identifier=?

      1.5 Rendering Syntax Objects with Formatting

      1.6 Computing the Free Variables of an Expression

      1.7 Replacing Lexical Context

      1.8 Helpers for Processing Keyword Syntax

      1.9 Legacy Zodiac Interface

    2 Module-Processing Helpers

      2.1 Reading Module Source Code

      2.2 Getting Module Compiled Code

      2.3 Resolving Module Paths to File Paths

      2.4 Simplifying Module Paths

      2.5 Inspecting Modules and Module Dependencies

    3 Macro Transformer Helpers

      3.1 Extracting Inferred Names

      3.2 Support for local-expand

      3.3 Parsing define-like Forms

      3.4 Flattening begin Forms

      3.5 Expanding define-struct-like Forms

      3.6 Resolving include-like Paths

      3.7 Controlling Syntax Templates

    4 Reader Helpers

      4.1 Raising exn:fail:read

      4.2 Module Reader

    5 Non-Module Compilation And Expansion

    6 Trusting Standard Recertifying Transformers

    7 Attaching Documentation to Exports

    8 Parsing and specifying syntax

      8.1 Introduction

      8.2 Examples

        8.2.1 Modules and reusable syntax classes

        8.2.2 Optional keyword arguments

        8.2.3 Variants with uniform meanings

        8.2.4 Variants with varied meanings

          8.2.4.1 Syntactic normalization

          8.2.4.2 Non-syntax-valued attributes

        8.2.5 More keyword arguments

        8.2.6 Contracts on macro sub-expressions

      8.3 Parsing syntax

      8.4 Specifying syntax with syntax classes

        8.4.1 Pattern directives

        8.4.2 Pattern variables and attributes

      8.5 Syntax patterns

        8.5.1 Single-term patterns

        8.5.2 Head patterns

        8.5.3 Ellipsis-head patterns

        8.5.4 Action patterns

      8.6 Defining simple macros

      8.7 Literal sets and Conventions

      8.8 Library syntax classes and literal sets

        8.8.1 Syntax classes

        8.8.2 Literal sets

      8.9 Debugging and inspection tools

      8.10 Experimental

        8.10.1 Contracts for macro sub-expressions

        8.10.2 Contracts for syntax classes

        8.10.3 Reflection

        8.10.4 Procedural splicing syntax classes

        8.10.5 Ellipsis-head alternative sets

        8.10.6 Syntax class specialization

    9 Source Locations

      9.1 Representations

      9.2 Quoting

    Index