>>610-612
まずは以下を嫁:
 ・【アンチ】関数型言語は使えない【玩具】 2
  http://peace.2ch.net/test/read.cgi/tech/1330429547/413-418

Haskell も同じだよ
一般にコレクションと呼ばれるリスト/ベクタ/配列/集合/マップ/ハッシュ表といった
一次元な連続データ構造を扱う場合、それを分解したいなら foldr/foldl を、
組立てたいなら unfoldr を使えば、多くのケースで再帰を用いずコードを書ける
例外的に書けないケースに会ったなら、その時は個別に検討すればいい

まずは foldr/foldl/unfold を自在に使えるようになることから始めませう