では素晴らしい提案をしよう
お前も、Haskellerにならないか?
杏寿郎、なぜお前が至高の領域に踏み入れないのか教えてやろう
人間だからだ、(コードが)老いるからだ、死ぬからだ
Haskellerになろう、杏寿郎
そうすれば100年でも200年でもコードを書き続けられる、強くなれる
これは何?
これを読んだ感想文。
Amazon以外の入手方法
自分はpdfが良かったのでAmazonではなく、こちらで購入した。
英語が読める人は以下で無料で読める
全体を通しての感想
界隈では良書として知られており、Haskellについては本書だけ読んだことがあるみたいな人に結構出会うなとは思ってはいたが、想像を超えた良書であった。
個人的にこの本の良いところは難しい分野にもそれなりに踏み込んでいく割に、いい感じにふわふわっとしていることだと思っている。
厳密さに欠ける部分もあるとは思うが、初心者目線だとそんなところまでは知らなくていい部分をうまい具合にふわっとして説明してくれるので、そこそこ攻めたこともやらせてくれる海外旅行ツアーみたいなイメージ。
一方で、2012年に日本語訳が出版されているため、英語版と比較すると、最新の情報と乖離している部分が多かったと思う(コアな部分ではないが)。
そのため、この本で最初のイメージを掴み、疑問に思ったことをLLMに聞いたり、インターネットに公開されている最新の実装を見に行くなどするといい感じに知らない概念に入門できると思った。
どんな人におすすめか
関数型の初心者におすすめ
関数型ちょっとやったことあるみたいな人が読むと世界が広がって楽しいと思う。
Haskellに対して高いモチベーションがあったり、他言語のエキスパートであれば読みきれるとは思うが、プログラミング初めてみたいな人は前半部分まで読めたら御の字だと思っておいた方がいい。
実際、読み切ったところで業務に役に立つ知識が(すぐに)得られるわけではなく、趣味の領域だし。
自分も電車の中でPCが触れない状態で読むみたいなゆる〜い読み方で6章くらいまでは進められたが7章、8章くらいからは手元でコードを動かしたりLLMと対話しながらでないと読み進めることが難しかった。
そのため、読み切るにはHaskellが好きになっていないと難しい。
参考: 読んだ当時の自分のバックグラウンド
- 社会人5年目 SIer勤務
- コンピュータ・サイエンスのバックグラウンドなし
- 関数型言語の経験
- Haskell
- 業務で使ったことはない
- 2025年の10月からAtCoderに参加していた。2026年6月に入茶してからサボりがち
- (Lisp (Scheme))
- SICPを読むのに少しだけ使っている。2026年10月現在だと、1章の冒頭と3章を少し読んだだけ
- Haskell
- 関数型以外で使ったことのある言語
- Python
- Fortran
- Java
- (TypeScript)
- (C)
- Lua(OpenResty)
自分が読んだモチベーション
もともと、自分はHaskellでAtCoderを1年くらいやっていた。
AtCoderのレートを目的にするなら、問題を解きまくるほうが良いのだが、関数型まつりに行ったり、むーざるちゃんねるのプログラマー向け圏論入門を視聴したりしているうちに、Haskellを書くためにHaskellを学びたいと思うようになり、積ん読していた本書を一気に読んだ。
読むと何が得られるか
名前を聞いたことはあるが、詳しく知らないHaskellの機能や数学の概念について全体感を掴むことができた。
特に自分は、
- 遅延ストリーム
- Functor
- Monoid
- Applicative Functor
- Monad
- Zipper
の概念に入門できたのが良かったと思っている。
このおかげもあり、HaskellのOSSに対する簡単なIssueの修正PRを出すことができたと思う。
Haskellを全く知らない人が、この本を読む前に読むといいもの
なにかの間違いで、 Haskellに興味を持ったがなにもわからない人は以下のようなリソースを読んで判断すると良いと思う。
- 【高校数学でわかる】Haskellで実装するフィボナッチ数列 #計算量 - Qiita
- 関数型プログラミングを知らない人向けに、「Haskellって何が面白いの?」と聞かれた時の回答 #勉強会資料 - Qiita
- 古めの名論文
これらを読んでHaskellに好印象を持ったなら本書はおすすめできる。