【问题标题】:Sources for learning about Scheme Macros: define-syntax and syntax-rules学习 Scheme 宏的来源:define-syntax 和 syntax-rules
【发布时间】:2010-09-12 23:38:36
【问题描述】:

我已经阅读了 JRM's Syntax-rules Primer 的 Merely Eccentric,它帮助我理解了语法规则以及它与 common-lisp 的定义宏有何不同。 syntax-rules 只是在 define-syntax 中实现语法转换器的一种方式。

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

【问题讨论】:

    标签: macros lisp scheme syntax-rules define-syntax


    【解决方案1】:

    回答第二个问题:syntax-casedefine-syntax 内部的另一种形式。 Kent Dybvig 是syntax-casehe has a tutorial on using it [PDF]. 的主要支持者

    我还在syntax-caseread the PLT Scheme documentation 获取更多示例,并了解实施中的变化。

    【讨论】:

      【解决方案2】:

      JRM 语法规则入门非常好,但编程语言的第 36 章:应用程序和解释,由 Shriram Krishnamurti http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/)也很好地涵盖了编写 Scheme 宏。在过去的 10 年中,该材料已在几篇短文、技术报告等中得到使用和改进,因此这不是一篇“关于 1983 年 Scheme 的 X 实现的事实,不再可访问”的论文。

      【讨论】:

        【解决方案3】:

        The Scheme Cookbook 的资源列表是一个很好的起点。 如果您喜欢论文,请不要犹豫访问readscheme.org

        【讨论】:

          【解决方案4】:

          Fear of Macros 是在 Racket 中使用宏的实用指南。它显示了许多使用define-syntax 的方法。该材料可能并不完全适用于 Scheme,但您可能会发现一些示例有助于了解可以做什么。

          【讨论】:

            猜你喜欢
            • 2020-07-24
            • 2016-01-11
            • 2018-09-15
            • 2020-07-24
            • 1970-01-01
            • 2022-06-24
            • 1970-01-01
            • 1970-01-01
            • 2010-10-31
            相关资源
            最近更新 更多