syntax-case
R6RSのセクションを見ていると、識別子マクロmake-variable-transformer
として記述されているキーワードが見つかりました。与えられた例は非常に最小限であり、なぜそれが必要なのか、またはどのようなユースケースでそれが必要なのかを理解するつもりはありません. その使用例をさらに見つけることも困難です。おそらく、何らかの形式の構文変換が可能になりますか、それともよりエレガントになりますか?
2 に答える
2
http://www.r6rs.org/final/html/r6rs-lib/r6rs-lib-ZH-13.html#node_sec_12.3を読んだ後、私の見解は次のとおりです。
mac
構文変換子の場合
(mac foo (bar baz))
s-expr 全体を変換の結果で(SOMETHING)
置き換え(foo mac bar)
ます。mac
(foo SOMETHING bar)
通常(set! mac 'foo)
、トランスフォーマーはセット式の左側に表示できないように見えるエラーを通知しますmac
が、可変トランスフォーマーの場合は(set! mac 'foo)
代わりにmac
s-expr 全体を呼び出します。
私の直感では、マクロを使用してデータ型の実装を開始すると、これが役立つことがわかります。
于 2008-12-03T08:26:30.420 に答える
1
make-variable-transformer に関するドキュメントを検索して、これに出くわしました。make-variable-transformer が提案されたという私が抱えていた問題は次のとおりです...
ジャック・トレード
于 2009-06-17T18:13:17.220 に答える