-
Notifications
You must be signed in to change notification settings - Fork 211
Macro resources
-
A paper by Paul Stansifer, who worked on Rust's macro system, about extending grammars in a fixed scope way. This is important if we want something like reader extensions, so the user can extend the language at the read-level, not just the parse-level.
-
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.
-
One of the early seminal papers on hygiene, talks about
syntax-rules
. -
Syntactic abstraction in scheme.
Another seminal paper, describes how to implement
syntax-case
. -
Macro-by-example: Deriving syntactic transformations from their specifications.
Describes how to implement macro-by-example (the pattern matching stuff). Doesn't address hygiene.
-
Honu: Syntactic Extension for Algebraic Notation through Enforestation
Recent paper on macros for expression-based languages. The expansion algorithm of sweet.js has been taking cues from honu recently. Should eventually allow infix operators.