- 217 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 21:19:30 ]
- 識別子が式に束縛される(得る)OcamlやHaskellと違って
Schemeの識別子はC言語などと一緒で 式ではなく記憶領域の場所に束縛される。 末尾再帰の最適化に関しては スタックフレームの参照で考えると A→B→C ;;普通の関数呼び出しのスタックフレームの参照連鎖 A→ →C ;;末尾呼び出しの場合はAとCを直接つないじゃえ、どうせCから値を直接返そうがBが値を返そうがプログラマから見れば同じだし B A→C ;;Bはどのスタックフレームからも参照されてないのでGCに回収されました ってな感じで定数空間で末尾再帰されてると考えてもいいかも。 実際の処理系はもっと効率よくやってるはずだけど。
|

|