【Haskellの入門書】 「入門Haskell−はじめて学ぶ関数型言語」(向井淳・著,毎日コミュニケーションズ)

「入門Haskell−はじめて学ぶ関数型言語」(向井淳・著,毎日コミュニケーションズ


まえがきより:

  • Haskellは純粋関数型言語といわれ,たいへん奇妙なプログラミング言語です。他の多くのメジャーなプログラミング言語のアナロジーが通用しない部分もあります。ですから,Haskellに関する様々な言説を読んでわかりづらいと感じるというのは,おそらくは健全なプログラミング技術の知識を持っているということの証なのでしょう。
  • しかしいったんわかってしまえば,その奇妙さゆえにほかのプログラミング言語とは替えがたい不思議な魅力を,Haskellは放ち始めます。そして気がつけば,他のプログラミング言語で作業をしていても「なぜこれがないのだろう?」「これがあればもっとこう書けるのに…」といったことが不思議に思えてくるでしょう。

内容の目次:

0章 Haskellとは
 1 Haskellとは何か
 2 関数的プログラミングのメリット
 3 本書の目的
 4 インストール
 5 Hello, World!
 6 Haskellプログラムのコンパイルと実行
 7 開発環境

1章 Haskellプログラミングひとまわり
 1 例題で学ぶ
 2 関数を定義しよう
 3 対話環境を活用する
 4 行数のカウント,単語数のカウントの初歩
 5 モジュールを使う
 6 高階関数を使ってみよう
 7 wcのmainを書こう
 8 まとめ

2章 型と値と関数
 1 静的な型付け
 2 型推論と型宣言
 3 実際の型
 4 複合的な型,多相的な型
 5 型クラス
 6 まとめ

3章 リスト
 1 リストとは
 2 リストの関数を定義しよう
 3 ほかの便利な関数とListモジュール
 4 リストを作ろう
 5 無限リスト
 6 無限リストとリスト内包表記
 7 テキスト処理ツールを作ろう
 8 まとめ

4章 型宣言と型クラス
 1 型シノニム
 2 代数的データ型
 3 フィールドとレコード
 4 新しい型
 5 型クラスの宣言と
 6 演習:木を作る
 7 まとめ

5章 モナド
 1 モナドとは何か?
 2 モナドを学ぶ
 3 まとめ

6章 ゲームを作ろう
 1 目標を定める
 2 型を定める
 3 取り扱う関数を考える
 4 ブラッシュアップ
 5 テストしてみる
 6 テキスト版さめがめの改善
 7 GUIさめがめ
 8 まとめ

7章 もっともっとHaskell
 1 配列
 2 そのほか便利なデータ構造
 3 例外の取り扱い
 4 正格評価
 5 モジュールと分割コンパイル
 6 外部パッケージの使い方
 7 HaskellプログラミングのTips

最後に

APPENDIX:標準でロードされるライブラリ関数

この本について:

Amazon.co.jp: 入門Haskell―はじめて学ぶ関数型言語: 向井 淳: 本
http://www.amazon.co.jp/%E5%85%A5%E9%96%80Haskell%E2%80%95%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E5%AD%A6%E3%81%B6%E9%96%A2%E6%95%B0%E5%9E%8B%E8%A8%80%E8%AA%9E-%E5%90%91%E4%BA%95-%E6%B7%B3/dp/4839919623

本書では純粋関数型と言われるプログラミング言語Haskell(ハスケル)について、「宣言的」とはどういうことか、またパターンマッチング、再帰的定義、モナド、静的な型付け、型クラスとインスタンス宣言などの重要な概念について、プログラムを組んでいきながら、実践的な解説を試みます。


入門Haskell 〜はじめて学ぶ関数型言語
https://book.mynavi.jp/support/e2/haskell/

  • 「入門Haskell」の正誤表をPDFデータにて提供


本を読む 「入門Haskell―はじめて学ぶ関数型言語
http://emasaka.blog65.fc2.com/blog-entry-5.html

  • Haskellといえばのモナドにしても、意味はさておき、こういうところで使うという説明を主軸にしている


入門Haskell―はじめて学ぶ関数型言語(向井 淳) - underscore.jp/diary(2006-04-13)
http://underscore.jp/diary/20060413.html

この本とよく比較して引き合いに出されるのが,日本語のHaskellの入門書「ふつうのHaskell」。

「ふつうのHaskell」本は,サンプルコードが書いてあるだけで説明がわかりやすくない。

こちらの「入門Haskell」のほうが評判が良い。

「入門Haskell」を読了 - kuenishi's blog
http://kuenishi.hatenadiary.jp/entry/20110611/1307793505

  • 以前「ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門」をざっと読んだのだが、言語仕様とサンプルコードの表面的な説明に終止していて、考え方や思考のトレースはあまりできなくて、Haskellそのものにあまり興味を持てなかった。というか、
  • Haskellを使って嬉しいぜ!!!というポイントがよく見えなかった。一方で、この「入門Haskell」は、Haskellを使って「どうだ!簡単だろエレガントだろ」ということを一貫して主張していて、実際その通りになっている。


入門Haskell―はじめて学ぶ関数型言語 - takihiro日記
http://d.hatena.ne.jp/takihiro/20080329/1206834052

  • ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門 を読んで、何回か Haskell を試した経験をしたことが理由だと思いますが、分かりやすく理解が深まりました。


404 Blog Not Found:ふつうくさく、汗臭くないHaskell
http://blog.livedoor.jp/dankogai/archives/50515970.html

  • 「入門Haskell」は、入門書というにはあまりに私見が多く、著者の趣味の押しつけが多すぎる本であるが、「ふつうのHaskellプログラミング」は、それがあまりに少なすぎる。これではHowはわかってもWhyは伝わらない。
  • 私は以前の「入門Haskell」の書評において、その部分が足りないと述べたが、撤回する。「なぜHaskell」か?そのことにかんしてだけは、同書は「ふつうのHaskellプログラミング」より数段優れている。入門書としては致命的に近い欠点は、実は作者の熱意の裏返しなのだ。