CommonLisp Scheme Part13
at TECH
516:デフォルトの名無しさん
05/07/05 17:26:14
>>514の続き(ここまで)
ソースコードは末尾再帰になっているので、
a_procのスコープは呼び出しにかかわらず単一であると考えると、そのスコープ内で
2>〜3>で表示されている最初の束縛関係が、一度5>〜6>のように変更されています。
ところが、18:〜22:で内部手続きを作成すると、そこでは、
変更されたの束縛関係(5>〜6>)ではなく最初の束縛関係(7>〜8>)に戻っています。
R5RS 4.1.4 Procedures には
The environment in effect when the lambda expression was evaluated is
REMEMBERED as part of the procedure.
とあります。
この「REMEMBER」という語は「そのScopeへの参照を記憶する」ことを意味すると
理解していたのですが、上の実験結果を見る限り
「そのScopeを元に作成した複製を保持する」と解釈すべきなのでしょうか?
全く思い違いをしているかもしれません。ご指摘ください。
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5381日前に更新/268 KB
担当:undef