27Oct00
Procedural Macros for Java
Bachrach and Playford
Hygiene Design
•Each template name records its original name, lexical context, and specific macro call context
•A named value reference and a binding connect if and only if the original name and the specific macro call occurrences are both the same
–Hygiene context is dynamically bound during expansion
–Hygiene contexts can also be manually established and dynamically bound
•References to global bindings should mean the same thing as it did in macro definition
–Hard to do in Java without violating security
–Forces user to manually export macro uses