05/11/27 20:34:15
Cleanについて加筆
・産業指向であるため、活発な開発が行なわれない。(投資額が少ない場合)
・GUI や TCP などの関数型の苦手な部分こそ自前で持つという
新しい物を産みだすための良い哲学を持っている。
取り敢えず動く(CleanIDE や sample プログラムが動いている)。
・実行速度は安定しない (OS・ほんのちょっとのコードの変化で変わる)
が2倍速いマシンを買えば他より速くなるので問題ない
・前も書いたけどライブラリはほとんど無い。というか
有用なライブラリが美しく書けないのかもしれない。
Haskellでは Tree 等の複合的な型クラス に対する型クラスが書けるがCleanでは書けない。
class x1 a :: a -> a
class x2 a b :: (a b) -> (a b)
が別クラスになる。
または instance x1 Class1ElementXYZ のようにインスタンスの数だけinstanceが必要だ。
・タイムプロファイラーとか簡単に使えて便利だ。
>>195 のコードについて
意味的には TestDataはコピーされ * TestDataになるっぽい。(ただしメモリ上ではコピーではない)
これと似たようなことを配列でやっても失敗する。(コーピーされる場面もあるようだ)
言語的には OCaml よりは Clean の方がいいと思うんだが。