Version: 4.2.1

4 Breaking Hygiene

    4.1 Unhygienic binding forms

    4.2 Unhygienic references

    4.3 Context-Sensitive Macros

Macros have the capability to explicitly break hygiene. Unhygienic binding forms (Unhygienic binding forms) like define-struct bind names that do not occur explicitly in the definition itself. Reasoning about bindings in the presence of nonhygienic binding forms requires knowing extra facts about the bindings they introduce. Far more rare are macros that unhygienically introduce references (Unhygienic references). Slightly more common is the use of syntax parameters as a particular kind of Unresolved pattern tag: "unhygienic-dynamic-scoping".