Lisp Scheme Part22at TECH
Lisp Scheme Part22 - 暇つぶし2ch217:デフォルトの名無しさん
08/05/30 21:19:30
識別子が式に束縛される(得る)OcamlやHaskellと違って
Schemeの識別子はC言語などと一緒で
式ではなく記憶領域の場所に束縛される。

末尾再帰の最適化に関しては
スタックフレームの参照で考えると

A→B→C ;;普通の関数呼び出しのスタックフレームの参照連鎖

A→ →C ;;末尾呼び出しの場合はAとCを直接つないじゃえ、どうせCから値を直接返そうがBが値を返そうがプログラマから見れば同じだし
  B

A→C ;;Bはどのスタックフレームからも参照されてないのでGCに回収されました

ってな感じで定数空間で末尾再帰されてると考えてもいいかも。
実際の処理系はもっと効率よくやってるはずだけど。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch