第3章 宣言的プログラミング技法

第2章の練習問題は特記すべきものが無いと感じたので流す。

3.4 再帰を用いるプログラミング

Lisp由来のリストを使ったり再帰を使う以上遅いのは仕方が無いと割り切らないのか。
処理速度を気にするより有用性に焦点を当てるべきではないかなぁ。

3.4.3 アキュムレータ

複数アキュムレータ

確かに機械的マシン語化出来るね。素敵素敵。

アキュムレータを使うマージソート

#の定義ってどうなん?って思ったら次節にあるのね。

3.4.4 差分リスト

これって論理学上有益かもしれんけど演算負荷大きいんじゃ・・・
このまま実装して実用になるとはとても思えない。
考え方だけ学ぶとする。

3.4.5 キュー

FIFO実装にこんなややこしいことするんだ。
こんなことして何の意味があるのだ?
煮詰まってきたので今日はここで保留。
次回はここの再読から。

    • -

追記2009-10-27
差分リストについて先日のオープンラボ(2009-10-24)で新知見
差分リストってのは差分部分が元リストの最後の部分と同じなので
差分情報ってのはどこから後ろかというポインタ情報のみで処理可能。
つまり演算負荷もそれほど大きくないし,メモリもたいして消費しない。
また,この処理は未バインド変数について演算処理を進められるので
「今出来る演算からやっていく」的処理手順が可能。
次世代のハイパーマルチコアや超分散処理に優位な考え方だと言うこと。