|
|
|
|
|
# Macro Papers
|
|
|
|
|
|
- [Macros that Work Together](http://www.cs.utah.edu/plt/publications/jfp12-draft-fcdf.pdf).
|
|
|
|
|
|
Describes the essence of racket's macro system. One of the easier macro papers to read. Lot's of the names and structure of sweet.js is modeled after this presentation. Describes much more features than we've currently implemented.
|
|
|
|
|
|
- [Macros that work](http://mumble.net/~jar/pubs/macros_that_work.ps).
|
|
|
|
|
|
One of the early seminal papers on hygiene, talks about `syntax-rules`.
|
|
|
|
|
|
- [Syntactic abstraction in scheme](http://www.cs.indiana.edu/~dyb/pubs/LaSC-5-4-pp295-326.pdf).
|
|
|
|
|
|
Another seminal paper, describes how to implement `syntax-case`.
|
|
|
|
|
|
- [Macro-by-example: Deriving syntactic transformations from their specifications](http://www.cs.indiana.edu/ftp/techreports/TR206.pdf).
|
|
|
|
|
|
Describes how to implement macro-by-example (the pattern matching stuff). Doesn't address hygiene.
|
|
|
|
|
|
- [Honu: Syntactic Extension for Algebraic Notation through Enforestation](http://www.cs.utah.edu/plt/publications/gpce12-rf.pdf)
|
|
|
|
|
|
Very recent paper. This is what we're looking to model more of sweet.js on. This will enable us to do things like infix macros and fix a few bugs along the way. |
|
|
\ No newline at end of file |