質問

もう読んだ JRM の構文ルール入門書 これは、構文規則とそれが common-lisp の定義マクロとどのように異なるかを理解するのに役立ちました。syntax-rules は、define-syntax 内で構文トランスフォーマーを実装する 1 つの方法にすぎません。

私が探しているものは 2 つあります。1 つ目は構文ルールの例と説明、2 つ目は、define-syntax の他の使用方法を学ぶための良い情報源です。どのようなリソースをお勧めしますか?

役に立ちましたか?

解決

2 番目の質問に答えるには: syntax-case 内部に入るもう一つの形式です define-syntax. 。Kent Dybvig は主な提唱者です。 syntax-case, 、 そして 彼はそれを使用するためのチュートリアルを持っています [PDF]。

私も PLT スキームのドキュメントを読む の上 syntax-case さらにいくつかの例を参照し、実装のバリエーションについて学びます。

他のヒント

JRM 構文ルールの入門書は非常に優れていますが、プログラミング言語の第 36 章は次のとおりです。適用と解釈、シュリラム・クリシュナムルティ著 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