kenketsuの日記: Haskell
日記 by
kenketsu
最近、ようやくHaskellの勉強を始めた。ずっと興味は持っていたのだけれど。まあ、現状ではまだあまり大したことはできない。すごいHaskell本をざっと読み終わったくらいで、何となくHaskellでのプログラミングスタイルや、Functor・Applicative・Monadがどんなものなのか、おぼろげなイメージが見えたか見えないか、というレベル。まだ何回か読み直しつつ、実際に色々プログラミングしてみないと本当のところは分からなさそう。
それでも、JavaなりCなどとは全く違う世界なのだな…ということはわかったつもり。JavaのStreamは関数型プログラミングの見た目だけ借りた別物なのだなぁと。頭の中で、今までこういうものだと思っていたプログラミングという概念がバキバキメキメキと音を立てて崩れ去って、何か全然違うものに再構築されていくというか、そんな感じ。
関数が全ての基礎にあって、関数それ自体がオブジェクトな扱いを受けていたり、関数が値を保持しつつ自由に関数に渡されたり戻り値になったり、関数を部分適用すれば中途半端な状態のまま扱えたり、関数に適用する何かが関数でも値でも何でも来い…とか。関数が持つ値に何かの関数を適用して、そのまま元の関数を戻すとか、どういうことだよ、それ。リスト内包表記のダイレクトさは、何これステキ!!って感じ。この凄さを上手く表現できないのがもどかしい。
昔から興味があるけれど、まだ手を出していないのはLISP。さすがにあの括弧の嵐には、正直言って近づき難い。Haskellのことが分かれば、多少は近づきやすくなるのだろうか。
Haskell More ログイン