Sources for learning about Scheme Macros: define-syntax and syntax-rules
Asked Answered
S

4

11

I've read JRM's Syntax-rules Primer for the Merely Eccentric and it has helped me understand syntax-rules and how it's different from common-lisp's define-macro. syntax-rules is only one way of implementing a syntax transformer within define-syntax.

I'm looking for two things, the first is more examples and explanations of syntax-rules and the second is good sources for learning the other ways of using define-syntax. What resources do you recommend?

Sinter answered 25/9, 2008 at 4:7 Comment(1)
I have a similar question today: more examples and explanations of syntax-rules and good sources for learning to use define-syntax but many ressources mentioned in the original responses to this answer no longer exist today or are not easily accessible. Any further update responses to this question?Bursarial
A
8

To answer your second question: syntax-case is the other form that goes inside define-syntax. Kent Dybvig is the primary proponent of syntax-case, and he has a tutorial on using it [PDF].

I also read the PLT Scheme documentation on syntax-case for a few more examples, and to learn about the variation in implementation.

Amieva answered 25/9, 2008 at 13:34 Comment(1)
A recent syntax-case tutorial by Marc Nieper-Wißkirchen: Extending a Language — Writing Powerful Macros in SchemeSporocyte
P
6

The JRM Syntax-rules primer is quite good, but Chapter 36 of Programming Languages: Application and Interpretation, by Shriram Krishnamurti http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/) also has good coverage of writing Scheme macros. That material has been used and improved over several short articles, tech reports, etc, over the past 10 years, so it's not a 'this was true about the X implementation of Scheme in 1983 that is no longer accessible' paper.

Pacian answered 4/11, 2008 at 12:38 Comment(0)
C
4

The list of resources at The Scheme Cookbook is a great place to start. If you prefer papers, then don't hessitate to visit readscheme.org.

Complicity answered 29/9, 2008 at 19:2 Comment(0)
P
3

Fear of Macros is a practical guide for using macros in Racket. It shows many ways of using define-syntax. The material may not be completely applicable to Scheme, but you might find some of the examples useful for knowing what can be done.

Phalanger answered 3/3, 2019 at 14:42 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.