• Title of article

    Embedding Hygiene-Compatible Macros in an Unhygienic Macro System

  • Author/Authors

    Costanza, Pascal Vrije Universiteit Brussel, Belgium , D’Hondt, Theo Vrije Universiteit Brussel, Belgium

  • From page
    271
  • To page
    295
  • Abstract
    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.
  • Keywords
    common Lisp , hygiene , compatible macro systems , scheme
  • Journal title
    Journal of J.UCS (Journal of Universal Computer Science)
  • Journal title
    Journal of J.UCS (Journal of Universal Computer Science)
  • Record number

    2661763