Lisp Scheme Part20
■ このスレッドは過去ログ倉庫に格納されています
0689デフォルトの名無しさん
2008/03/26(水) 17:11:40消滅しない。そういうのを無限エクステントという。
長くなるのであまり説明したくないけど、
仮に、そのfuncからx y zを含むクロージャ
(lambda (w) (list w x y z))とかを返したりすれば、
x y zはスタックからひっぺがされ、そのクロージャから
見える無限の領域(具体的にはヒープなど)に引き込まれる。
これは振舞いの説明であって、x y zを複製するという意味ではない。
C言語やPascalなどは関数呼び出しが終わってスタックが
撒き戻るとそのローカル変数なども無効になってしまうが、
schemeでは参照が残る限り有効になる。
■ このスレッドは過去ログ倉庫に格納されています