2009年7月1日水曜日

【フムフム本】18章 構文の拡張


* 18章 構文の拡張
- Schemeではspecial operatorsという概念は使わずに、
構文と呼ぶようだ。すると具体的な構文に、意味(評
価時の仕様)が直接結合しているんだな。そこが分離
していて、あくまでstandard syntaxでしかない
Common Lispとは違いがあるな。
- と思ってページをめくったら、特殊形式と呼ぶここ
もあるとあった。うむむ。そうするとspecial
operatorsがとるspecial formの別名を構文と呼ぶの
かも? まあいいや。言葉遊びになっちゃうので。
** 18.1 手続きと構文
- 特になし。
** 18.2 必須構文
- ユーザが構文を定義する際に使うのがマクロ。
- Gaucheには、2種類のマクロがある。R5RSマクロと伝
統的マクロ。
** 18.3 パターンマッチによるマクロ
- おお、R5RSマクロってパターンマッチと置き換えその
ものなんだ。
*** コラム 詳細なエラー情報を表示したい
- 特になし。
** 18.4 マクロの健全性
- 健全さをシステムが保証するなら、安全は安全。
- 変数の衝突を自動的に回避する仕組みがどんなもの
が知りたかった。
** 18.5 マクロの使用例
- 特になし。
** 18.6 R5RSマクロの限界
- 特になし。
** 18.7 伝統的なマクロ
- 特になし。
** コラム なぜマクロではなくevalを使うとうまくいかないのか?
- 特になし。

こつこつ。

0 件のコメント: