Tuesday 14 May 2013

Haskell

授業で使っているんだけど、この手のマイナーな言語、特に、理論よりのは嫌いじゃないんですけどね。

最初に触ったのは Prolog でかなりはまって理論も勉強しました。

次に見たのは ML 、SML だったはず。型推論は面白いと思ったけど、

* 普通じゃん

みたいな感じでつまらなかった。HOL (定理証明支援系) の実装言語だった。あまりはまらなかったな。

その頃の Pure Functional な言語というと、Hope というのがあった。一応、動かしたはずだけど、あまり惹かれはしかなった。その関係で、SKIM とか λ計算とかπ計算とかいろいろやりましたよ。

Prolog はいろいろ問題があったが、琉大で学生に使わせたこともあります。最近でもたまに教えてる。面白ので。まぁ、でも死んでる言語だよな。

なので、最近の Lisp とか Haskell の流行はちょっと意外かも。でも、どの言語もそれなりに実用的。

特に Haskell は Pure Functional だから面白い。MLや Ocaml みたいな「普通の言語に型推論」とは違う。Monad も Haskell だから意味があるように感じる。学生が面白がって、Java で Monad っぽくみたいなことをやっているが、あまりうれしいようには見えないね。でも、Haskell だと必須なので。

なんだけど、いろいろ神経さかなでする言語なんだよな。

* インデント構文

いや、単純に嫌いなんだけど。でも、vim を expand tab にしたので、トラブルはなくなった。

* Monad が使いまくり

ううう、それでは、なんか C で書いているのとあまり変わりない気がする。まぁ、でもだから実用になったんだろうけど。

let はともかく where がちょっと違和感ある。これは慣れの問題だろうけど。

プログラム書く時の発想が Prolog 寄りになってしまうのが欠点かな。つい、引数一つ増やしてとか考えちゃう。まぁ、しばらくすれば慣れるのか?

No comments: