Embedding Hygiene-Compatible Macros in an Unhygienic Macro System

10 years 4 months ago
Embedding Hygiene-Compatible Macros in an Unhygienic Macro System
: It is known that the essential ingredients of a Lisp-style unhygienic macro system can be expressed in terms of advanced hygienic macro systems. We show that the reverse is also true: We present a model of a core unhygienic macro system, on top of which a hygiene-compatible macro system can be built, without changing the internals of the core macro system and without using a code walker. To achieve this, the internal representation of source code as Lisp s-expressions does not need to be changed. The major discovery is the fact that symbol macros can be used in conjunction with local macro environments to bootstrap a hygiene-compatible macro system. We also discuss a proof-of-concept implementation in Common Lisp and give historical notes. Key Words: Hygiene-compatible macro systems, Scheme, Common Lisp
Pascal Costanza, Theo D'Hondt
Added 29 Jan 2011
Updated 29 Jan 2011
Type Journal
Year 2010
Where JUCS
Authors Pascal Costanza, Theo D'Hondt
Comments (0)