Haskell入門 関数型プログラミング言語の基礎と実践
- 本間雅洋,類地孝介,逢坂時響 著
- 定価
- 3,608円(本体3,280円+税10%)
- 発売日
- 2017.9.27
- 判型
- B5変形
- 頁数
- 432ページ
- ISBN
- 978-4-7741-9237-6 978-4-7741-9299-4
概要
基礎文法から実践的なアプリケーション開発までしっかりわかるHaskellの入門書です。型,関数,モナド,並列並行などHaskellの重要な考え方と実際にアプリケーション開発を行うまでをわかりやすく解説しています。
こんな方にオススメ
- Haskellに入門したい人
- Haskellの基礎を学んで実践的なアプリケーション開発をしてみたい人
- 関数型プログラミングの技法を身に付けたい人
目次
第1章 はじめてのHaskell
- 1.1 Haskell の特徴
- 1.2 実行環境の構築
- 1.3 REPL とスクリプトの実行
- 1.4 プロジェクト作成とビルド
第2章 基本の文法
- 2.1 文法の特色
- 2.2 基本のデータ型
- 2.3 変数
- 2.4 関数
- 2.5 main 関数とdo 式
- 2.6 条件分岐とパターンマッチ
- 2.7 データ構造
- 2.8 ループの実現
- 2.9 モジュールとパッケージ
第3章 型・型クラス
- 3.1 型の記述
- 3.2 型システム
- 3.3 型コンストラクタと型変数
- 3.4 代数的データ型
- 3.5 レコード記法
- 3.6 再帰的な定義
- 3.7 型の別名
- 3.8 型クラス
- 3.9 型制約
- 3.10 Preludeにおける型クラス
第4章 I/O処理
- 4.1 IO 型
- 4.2 コマンドライン引数と環境変数
- 4.3 入出力
- 4.4 ファイルシステム
- 4.5 例外処理
第5章 モナド
- 5.1 モナドアクション
- 5.2 Monad の性質を利用する
- 5.3 Functor とApplicative
- 5.4 Either eモナドとExcept e モナド
- 5.5 Reader r モナド
- 5.6 ST s モナド
- 5.7 リストモナド
- 5.8 モナド変換子
第6章 関数型プログラミング
- 6.1 型とプログラミング
- 6.2 関数による抽象化
- 6.3 代入文と変数の局所性
- 6.4 型クラスと拡張性
第7章 ライブラリ
- 7.1 標準ライブラリ
- 7.2 GHCに付属するライブラリ
- 7.3 効率的な文字列操作 ─ ByteString・Text
- 7.4 高速にランダムアクセス可能な配列 ─ vector
- 7.5 高速なパーサ ─ attoparsec
- 7.6 型安全なJOSN 操作 ─ aeson
- 7.7 日付・時刻を扱う ─ time
- 7.8 複雑なデータ構造への効率的なアクセス ─ lens
- 7.9 モナドによるDSL の実現 ─ operational
- 7.10 ストリームデータ処理 ─ pipes
第8章 並列・並行プログラミング
- 8.1 並列と並行
- 8.2 MVarによるスレッド間の通信
- 8.3 STM によるスレッド間の通信
- 8.4 非同期例外
- 8.5 より安全な非同期 ─ async
- 8.6 並列性を実現するライブラリ
第9章 コマンドラインツールの作成
- 9.1 開発の準備
- 9.2 HUnit による自動テスト
- 9.3 パーサの作成
- 9.4 クエリの実行とIO 処理
- 9.5 まとめ
第10章 Webアプリケーションの作成
- 10.1 Web アプリケーション環境の選定
- 10.2 開発の準備
- 10.3 モデルの開発
- 10.4 コントローラの開発
- 10.5 ビューの開発
- 10.6 実行ファイルの作成
- 10.7 まとめ
第11章 サーバとクライアントの連携
- 11.1 開発の準備
- 11.2 クライアント・サーバシステムの簡易実装
- 11.3 オークションシステムの構築
- 11.4 オークションシステムのクライアントプログラム
- 11.5 まとめ
プロフィール
本間雅洋
株式会社フリークアウト所属。北海道苫小牧市出身。PerlとGo言語を使って広告システムを構築する傍らで,Haskellを普及させるべく機会をうかがっている。著書に「FFmpegで作る動画共有サイト(毎日コミュニケーションズ,共著)」,訳書に「実用Git(オライリージャパン,共訳)」,他Web媒体等での執筆多数。
Twitter:@hiratara
GitHub:hiratara
類地孝介
FIVE Inc.所属。Haskellを好み,Haskellの機能の実務上での意義を考え,それらをまとめてHaskell勉強会等で発表している。業務では主にScalaを書いている。
Twitter:@ruicc
GitHub:ruicc
逢坂時響
株式会社オンザロード所属。プログラマとして経験を積みながら独自にHaskellを学習し有用性を訴える。 lensやOperationalモナド等,抽象度の高い概念の活用や解説が得意。ブログやSNS,勉強会等を通して広くHaskellの普及活動を行っている。
Twitter:@its_out_of_tune
GitHub:tokiwoousaka