関連サイト
本書の関連ページが用意されています。
内容紹介
原書の"Learn You a Haskell for Great Good!"は、型、遅延評価、モナドといった難しい概念にも自然に慣れていけるよう工夫された構成、他の言語経験者への配慮に加え、原著者による楽しいイラストによって、もっとも分かりやすいHaskell本として、高く評価されています。
書誌情報
- 著者: Miran Lipovača(著), 田中英行, 村主崇行(訳)
- 発行日: 2012-05-25 (紙書籍版発行日: 2012-05-01)
- 最終更新日: 2012-05-25
- バージョン: 1.0.0
- ページ数: 416ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: オーム社
対象読者
プログラマー、Haskell入門者、Haskellを実用的に学びたい人、関数型言語に興味のある人
著者について
Miran Lipovača
Miran Lipovačaはスロベニアのリュブリャナで計算機科学を学んでいます。Haskellへの情熱に加え、ボクシングとギター、それにお絵描きをたしなみます。踊るガイコツと数字の71、それに自分の念力で開けたふりをして自動ドアを通るのが大好きです。
田中英行
(株)プリファードインフラストラクチャー勤務のプログラマ。プログラミングが好きなあまりプログラミングそのものの科学を志し、その過程にてHaskellに辿り着く。プログラミングで世の中の不可能を可能にしていきたい。Haskellと、ミステリー(特に叙述モノ)、それからもふもふしてニャーと鳴く動物が好きです。
村主崇行
京都大学白眉センター特定助教。気がつけばHaskellでゲームを作り、Haskellで就職したような人生、関係諸方には頭が上がりません。物理のレベルを上げ、Real Worldな問題に取り組むことでこの御恩に遍く報いたい。思い入れのある型クラスはTraversableで、嫌いな関数はerrorです。
目次
訳者序文
イントロダクション
第1章 はじめの第一歩
- 1.1 関数呼び出し
- 1.2 赤ちゃんの最初の関数
- 1.3 リスト入門
- 1.4 レンジでチン!
- 1.5 リスト内包表記
- 1.6 タプル
第2章 型を信じろ!
- 2.1 明示的な型宣言
- 2.2 一般的なHaskellの型
- 2.3 型変数
- 2.4 型クラス 初級講座
第3章 関数の構文
- 3.1 パターンマッチ
- 3.2 場合分けして、きっちりガード!
- 3.3 where?!
- 3.4 let It Be
- 3.5 case 式
第4章 Hello 再帰!
- 4.1 最高に最高!
- 4.2 さらにいくつかの再帰関数
- 4.3 クイック、ソート!
- 4.4 再帰的に考える
第5章 高階関数
- 5.1 カリー化関数
- 5.2 高階実演
- 5.3 関数プログラマの道具箱
- 5.4 ラムダ式
- 5.5 畳み込み、見込みアリ!
- 5.6 $ を使った関数適用
- 5.7 関数合成
第6章 モジュール
- 6.1 モジュールをインポートする
- 6.2 標準モジュールの関数で問題を解く
- 6.3 キーから値へのマッピング
- 6.4 モジュールを作ってみよう
第7章 型や型クラスを自分で作ろう
- 7.1 新しいデータ型を定義する
- 7.2 形づくる
- 7.3 レコード構文
- 7.4 型引数
- 7.5 インスタンスの自動導出
- 7.6 型シノニム
- 7.7 再帰的なデータ構造
- 7.8 型クラス 中級講座
- 7.9 YesとNoの型クラス
- 7.10 Functor型クラス
- 7.11 型を司るもの、種類
第8章 入出力
- 8.1 不純なものと純粋なものを分離する
- 8.2 Hello, World!
- 8.3 I/O アクションどうしをまとめる
- 8.4 いくつかの便利なI/O関数
- 8.5 I/O アクションおさらい
第9章 もっと入力、もっと出力
- 9.1 ファイルとストリーム
- 9.2 ファイルの読み書き
- 9.3 ToDoリスト
- 9.4 コマンドライン引数
- 9.5 ToDoリストをもっと楽しむ
- 9.6 ランダム性
- 9.7 bytestring
第10章 関数型問題解決法
- 10.1 逆ポーランド記法電卓
- 10.2 ヒースロー空港からロンドンへ
第11章 ファンクターからアプリカティブファンクターへ
- 11.1 帰ってきたファンクター
- 11.2 ファンクター則
- 11.3 アプリカティブファンクターを使おう
- 11.4 アプリカティブの便利な関数
第12章 モノイド
- 12.1 既存の型を新しい型にくるむ
- 12.2 Monoid大集合
- 12.3 モノイドとの遭遇
- 12.4 モノイドで畳み込む
第13章 モナドがいっぱい
- 13.1 アプリカティブファンクターを強化する
- 13.2 Maybeから始めるモナド
- 13.3 Monad型クラス
- 13.4 綱渡り
- 13.5 do記法
- 13.6 リストモナド
- 13.7 モナド則
第14章 もうちょっとだけモナド
- 14.1 Writer?中の人なんていません!
- 14.2 Reader?それはあなたです!
- 14.3 計算の状態の正体
- 14.4 Errorを壁に
- 14.5 便利なモナディック関数特集
- 14.6 安全な逆ポーランド記法電卓を作ろう
- 14.7 モナディック関数の合成
- 14.8 モナドを作る
第15章 Zipper
- 15.1 歩こう
- 15.2 リストに注目する
- 15.3 超シンプルなファイルシステム
- 15.4 足下にご注意
- 15.5 読んでくれてありがとう!
付録A:マルチバイト文字列処理に関する訳者補足
- A.1 文字コードとtext
- A.2 OverloadedStrings拡張
- A.3 ViewPatterns拡張