我已阅读 JRM的语法规则入门对于Merely Eccentric而言,它帮助我理解了语法规则以及它与common-lisp的define-macro的不同之处。 syntax-rules只是在define-syntax中实现语法转换器的一种方法。

我正在寻找两件事,第一件是语法规则的更多示例和解释,第二件是学习使用define-syntax的其他方法的好资源。你推荐什么资源?

有帮助吗?

解决方案

回答第二个问题: syntax-case define-syntax 中的另一种形式。 Kent Dybvig是 syntax-case 的主要支持者,他有一个使用它的教程[PDF]。

我还在阅读PLT计划文档语法案例以获取更多示例,并了解实现中的变化。

其他提示

JRM语法规则入门非常好,但是编程语言的第36章:应用和解释,作者:Shriram Krishnamurti http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/ )也很好地编写了Scheme宏。在过去的10年里,这些材料已经在几篇短篇文章,技术报告等中得到了使用和改进,所以它并不是“1983年不再可以获得的Scheme的X实现”的真实情况。

计划指南中的资源列表是一个很好的起点。 如果您更喜欢论文,请不要犹豫,访问 readscheme.org

对宏的恐惧是在Racket中使用宏的实用指南。它显示了使用 define-syntax 的许多方法。该材料可能不完全适用于Scheme,但您可能会发现一些示例对于了解可以执行的操作非常有用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top