2012年6月5日

すごいHaskellたのしく学ぼう!読書感想

「すごいHaskellたのしく学ぼう!」を読みながらHaskell修行中
Haskellの楽しいところは非正格評価で必要になるまで評価されない点だと思う
整数配列が[1..]と書けるところが素晴らしい
あとは他の言語でもあるのだけどリスト内包表記だね
これがあると繰り返していちいちリスト作るのが面倒で仕方が無くなる
この本に載っている直角三角形を求める例も素晴らしい例だと思う
ワンライナーだけど全然読みづらくなくて逆に直感的で分かりやすい記述だと思う

Haskellは型推論がしっかりしてるから普通でいきなりジェネリックなところも素晴らしいですね
結局型宣言書くことになるのだけど実際のプログラム自体に余計な記述が入り込まないから簡潔になっていいですね
Common Lispは大好きでたいへん尊敬しているのですが動的型付はどうも性に合わないんですよね
静的型付のほうがしっくりくるので型推論は非常に嬉しいです

でもなんだかんだいっても結局Haskellの魅力は関数の構文の素晴らしさですね
パターンマッチ、ガード、where、let、caseとあって手続き型だと結局ifかswitch程度しかなくてなんとも貧弱なのですがHaskellはやっぱりこの辺りが洗練されているなと思います

次に続くのが超目玉のカリー化だったり部分適応だったりで
これらを駆使してmapやfoldを利用するために関数合成、$での関数適用でソースを読みやすくして
ポイントフリースタイルでさらに関数合成を洗練させられる
まあ当然ラムダも素晴らしいんですけどね

とりあえず5章まで読んだんですけどここまででもHaskellの素晴らしさ魅力はあふれんばかりだと思います
この本はモナドやIOがなかなか登場しないですね

まあなんにしても5章まででも十分すぎるほど読む価値あると思います

この本は関数型について学びたい人には向いてないかな
Haskellを使えるようになりたい人には向いていると思います
関数型についてだったらF#やOCamlの本の方がいいんじゃないかな