- 308 名前:294 mailto:sage [2007/05/18(金) 18:40:13 ]
- 言葉がわかりづらい…
束縛→場所をユニークに表すもの 束縛する→識別子を場所またはマクロ変換子に対応づける 参照→場所から値を取り出す事 という解釈で良いんでしょうかね 束縛するはともかく他の2つは直感的な理解と違う解釈な気がしますけど 内部定義のduplicate bindingについてはR5RSでは言及されてないようですけど 内部定義のdefineは完全に等価なletrec変換できるって書いてあるので 暗黙的にduplicate bindingは禁止なんでしょうね でも処理系によって許すものと許さないものがあるようです syntax-caseで使用する識別子'_'はマクロ名を表すって説明してるサイトもありますけど 必ずしもそうじゃないんですね パターンリストの先頭の識別子はパターン変数にならず、 マクロ名と見なされるってだけなので (define-syntax foo (syntax-rules () ((bar _) (begin (display _) (newline))))) 見たいに書くとパターン変数として使えるんですね
|

|