アカウント名:
パスワード:
http://d.hatena.ne.jp/satosystems/20121228/1356655565 [hatena.ne.jp]こちらの記事の Scheme48 の事前最適化で結果が出てしまっているというところに、関数型の利点があるのかなぁなんて思いました。問題によってはこんなことまで出来ちゃうのは副作用がないからってことなんですかね。勉強します…。
事前展開ならc系も処理系によっては出来たはず。C++ならテンプレート使えばやってくれたはず。プログラミング言語C++にはまさにテンプレートでフィボナッチの例が乗ってた記憶が。
C++のテンプレートは再帰深度の深さに制限がありませんでしたっけ。関数型でも制限があるのかどうかわかりませんが。
非末尾呼び出しの場合はメモリの許す限り、末尾呼び出しの場合、処理系が最適化をしてループやジャンプに展開するなら無限。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
吾輩はリファレンスである。名前はまだ無い -- perlの中の人
勉強不足だけど (スコア:2)
http://d.hatena.ne.jp/satosystems/20121228/1356655565 [hatena.ne.jp]
こちらの記事の Scheme48 の事前最適化で結果が出てしまっているというところに、
関数型の利点があるのかなぁなんて思いました。
問題によってはこんなことまで出来ちゃうのは副作用がないからってことなんですかね。
勉強します…。
Re: (スコア:0)
事前展開ならc系も処理系によっては出来たはず。
C++ならテンプレート使えばやってくれたはず。
プログラミング言語C++にはまさにテンプレートでフィボナッチの例が乗ってた記憶が。
Re:勉強不足だけど (スコア:2)
C++のテンプレートは再帰深度の深さに制限がありませんでしたっけ。
関数型でも制限があるのかどうかわかりませんが。
Re: (スコア:0)
非末尾呼び出しの場合はメモリの許す限り、末尾呼び出しの場合、処理系が最適化をしてループやジャンプに展開するなら無限。