CMU Artificial Intelligence Repository
Lexically-scoped macros: POPL-91 paper and LP-93
re-exposition.
lang/scheme/doc/macros/popl/
This directory contains papers related to lexically-scoped macros.
It includes William Clinger and Jonathan Rees's POPL-91 paper [5],
which describes a modified form of Kohlbecker's algorithm [9,10] for
reliably hygienic (capture-free) macro expansion in block-structured
languages. Also included is Jonathan Rees's 1993 Lisp Pointers paper
[11], which gives a more practical exposition of the algorithm given
in the POPL paper.
Copying: Free use, copying, distribution
CD-ROM: Prime Time Freeware for AI, Issue 1-1
Mailing List: none
Author(s): Jonathan Rees
Keywords:
Authors!Clinger, Authors!Rees, Lexically-Scoped Macros,
Macros, Scheme!Code, Scheme!Documents, Scheme!Macros
References:
[1] Alan Bawden and Jonathan Rees, "Syntactic closures", ACM
Conference on Lisp and Functional Programming, pages 86-95, 1988.
[2] William Clinger, "Macros in Scheme", Lisp Pointers IV(4):17-23,
October-December 1991.
[3] William Clinger, "Hygienic macros through explicit renaming",
Lisp Pointers IV(4):25-28, October-December 1991.
[4] William Clinger and Jonathan Rees, editors, "The revised^4 report on
the algorithmic language Scheme", Lisp Pointers IV(3):1-55,
July-September 1991.
[5] William Clinger and Jonathan Rees, "Macros that Work", ACM Symposium
on Principles of Programming Languages (POPL-91), pages 155-162, 1991.
[6] R. Kent Dybvig, "Writing hygienic macros in Scheme with
syntax-case", Indiana University Computer Science Department
Technical Report #356, June 1992.
[7] Chris Hanson, "A syntactic closure macro facility", Lisp Pointers
IV(4):9-16, October-December 1991.
[8] Robert Hieb, R. Kent Dybvig, and Carl Bruggeman, "Syntactic
Abstraction in Scheme", Indiana University Computer Science Department
Technical Report #355, June 1992.
[9] Eugene E. Kohlbecker, Daniel P. Friedman, Matthias Felleisen, and
Bruce Duba, "Hygienic macro expansion", ACM Conference on Lisp and
Functional Programming, pages 151-159, 1986.
[10] Eugene E. Kohlbecker and Mitchell Wand, "Macro-by-example:
Deriving syntactic transformations and their specifications", ACM
Symposium on Principles of Programming Languages (POPL-87), pages
77-84, 1987.
[11] Jonathan Rees, "The Scheme of Things: Implementing Lexically
Scopes Macros" Lisp Pointers VI(1), January-March 1993.
Last Web update on Mon Feb 13 10:37:03 1995
AI.Repository@cs.cmu.edu