nobsun です.

> ・実世界にあるもののモデリングにはOOPのほうが直感的。

これは多分そのとおりでしょう.大量のオブジェクトが非同期で動くような
シミュレーションをやって,全体としてどのような組織化がおこるかを探る
なら断然OOPの方が直感的でしょうね.

>  例えば木構造で与えられたデータの処理をする場合、トラバースする間に
>  各ノードでの処理方法がその都度変わったり、頻繁にバックトラックした
>  り…といったようなものはOOPで、各ノードをオブジェクトにしたり、パー
>  ザに状態を持たせたり、、、とかやりたくなります。 
>  そうでなくて、各ノードでの操作が割に単一的で、一気に畳み込んだり展
>  開したりできるなら、Haskellで再帰的に書いちゃえ、とか思います。 
> 
>  先日の、山下さんが情報処理学会の会誌に書いた記事の例は、そういう意
>  味で結構境界線だったりします。Haskellで書きたくなるけど、ちょっとも
>  どかしさを感じる、というか。 

おっ.木構造のような再帰構造をもつデータを扱うなら,断然 Haskell の方
が楽だと思うんだけどそうでもないかなぁ.ツリーの型構成子がFactorクラス
のインスタンスとして宣言できるなら木全体のノードの操作はfmapでいけるし,
型構成子がmonadのインスタンスならfoldMなんかが使えそうだけど...

--nobsun


--
ML: haskell-jp / quickml.com
使い方: http://QuickML.com/