我已经阅读了JRM的非常偏心的语法规则入门,它帮助我理解了语法规则以及它与common-lisp的define-macro的不同之处.syntax-rules只是在define-syntax中实现语法转换器的一种方法.
我正在寻找两件事,第一件是语法规则的更多示例和解释,第二件是学习使用define-syntax的其他方法的好资料.你推荐什么资源?
回答你的第二个问题:syntax-case
是另一种形式define-syntax
.Kent Dybvig是他的主要支持者syntax-case
,他有一个使用它的教程[PDF].
我还阅读了PLT Scheme文档,syntax-case
以获取更多示例,并了解实现的变化.
JRM语法规则入门非常好,但是Shriram Krishnamurti的编程语言:应用和解释的第36章http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/也有很好的报道编写Scheme宏.在过去的10年中,这些材料已经在几篇短文,技术报告等中得到了使用和改进,所以它不是"1983年不再可以获得的Scheme的X实现".