Haskell(ハスケル)は純粋関数型言語として注目を集めているプログラミング言語。
本書は、関数プログラミングの専門家が題材を厳選して著したものであり、すでに国内のHaskellユーザたちからの評価も高い。これからHaskellを始めようという人はもちろん、既存の入門書を購入している人たちにもお勧め。
https://www.ohmsha.co.jp/book/9784274067815/
正誤表やDLデータ等がある場合はこちらに掲載しています
第1章 導入
第2章 はじめの一歩
第3章 型とクラス
第4章 関数定義
第5章 リスト内包表記
第6章 再帰関数
第7章 高階関数
第8章 関数型パーサー
第9章 対話プログラム
第10章 型とクラスの定義
第11章 切符番号遊び
第12章 遅延評価
第13章 プログラムの論証
付録A 標準ライブラリ
付録B 記号表
付録C 訳者による関数の解説
付録D 訳語一覧
訳者前書き
前書き
目次
第1章 導入
1.1 関数
1.2 関数プログラミング
1.3 Haskell の特徴
1.4 歴史的背景
1.5 Haskell の妙味
1.6 この章の参考文献
1.7 練習問題
第2章 はじめの一歩
2.1 Hugs
2.2 標準ライブラリ
2.3 関数適用
2.4 Haskell プログラム
2.5 この章の参考文献
2.6 練習問題
第3章 型とクラス
3.1 基本概念
3.2 基本型
3.3 リスト型
3.4 タプル型
3.5 関数型
3.6 カリー化された関数
3.7 多相型
3.8 多重定義型
3.9 基本クラス
3.10 この章の参考文献
3.11 練習問題
第4章 関数定義
4.1 古きから新しきへ
4.2 条件式
4.3 ガード付きの等式
4.4 パターンマッチ
4.5 λ 式
4.6 セクション
4.7 この章の参考文献
4.8 練習問題
第5章 リスト内包表記
5.1 生成器
5.2 ガード
5.3 関数zip
5.4 文字列の内包表記
5.5 シーザー暗号
5.6 この章の参考文献
5.7 練習問題
第6章 再帰関数
6.1 基本概念
6.2 リストに対する再帰
6.3 複数の引数
6.4 多重再帰
6.5 相互再帰
6.6 再帰の秘訣
6.7 この章の参考文献
6.8 練習問題
第7章 高階関数
7.1 基本概念
7.2 リスト処理
7.3 畳込関数foldr
7.4 畳込関数foldl
7.5 関数合成演算子
7.6 文字列の変換器
7.7 この章の参考文献
7.8 練習問題
第8章 関数型パーサー
8.1 パーサー
8.2 パーサーの型
8.3 基本的なパーサー
8.4 連結
8.5 選択
8.6 パーサーの部品
8.7 空白の扱い
8.8 数式
8.9 この章の参考文献
8.10 練習問題
第9章 対話プログラム
9.1 対話
9.2 入出力の型
9.3 基本アクション
9.4 順序付け
9.5 アクションの部品
9.6 電卓
9.7 ライフゲーム
9.8 この章の参考文献
9.9 練習問題
第10章 型とクラスの定義
10.1 type による型宣言
10.2 data による型宣言
10.3 再帰型
10.4 恒真式検査
10.5 仮想マシン
10.6 クラスとインスタンスの宣言
10.7 この章の参考文献
10.8 練習問題
第11章 切符番号遊び
11.1 導入
11.2 問題の形式化
11.3 総当たり法
11.4 生成と評価の方法を変える
11.5 代数的な性質をいかす
11.6 この章の参考文献
11.7 練習問題
第12章 遅延評価
12.1 導入
12.2 評価戦略
12.3 停止性
12.4 簡約の回数
12.5 無限のデータ構造
12.6 部品プログラミング
12.7 正格適用
12.8 この章の参考文献
12.9 練習問題
第13章 プログラムの論証
13.1 等式推論
13.2 Haskell での論証
13.3 簡単な例題
13.4 整数に対する数学的帰納法
13.5 リストに対する数学的帰納法
13.6 連結を除去する
13.7 コンパイラーの正しさ
13.8 この章の参考文献
13.9 練習問題
付録A 標準ライブラリ
A.1 クラス
A.2 真理値
A.3 文字
A.4 数値
A.5 タプル
A.6 Maybe
A.7 リスト
A.8 関数
A.9 入出力
付録B 記号表
付録C 訳者による関数の解説
C.1 string
C.2 many
C.3 many1
C.4 many とmany1
C.5 subs
C.6 interleave
C.7 perms
付録D 訳語一覧
参考文献
索引