17.3 Defining new #lang Languages🔗

When loading a module as a source program that starts

#lang language

the language determines the way that the rest of the module is parsed at the reader level. The reader-level parse must produce a module form as a syntax object. As always, the second sub-form after module specifies the module language that controls the meaning of the module’s body forms. Thus, a language specified after #lang controls both the reader-level and expander-level parsing of a module.

    17.3.1 Designating a #lang Language

    17.3.2 Using #lang reader

    17.3.3 Using #lang s-exp syntax/module-reader

    17.3.4 Installing a Language

    17.3.5 Source-Handling Configuration

    17.3.6 Module-Handling Configuration