入門Haskellプログラミング
今日本屋に行って関数型プログラミングの本を探してみると、Haskellの新刊がありました。
パラパラっと眺めてみたかんじでは、分かりやすそうな本だと思いました。
ページの配分的に、「型」の説明が詳しくなされていると思いました。
今買っても積読になりそうな気がしたので即買いはしませんでしたが、そのうち読んでみるかも。
(買ってみました。)
目次
LESSON 2 関数と関数型プログラミング
LESSON 3 ラムダ関数とレキシカルスコープ
LESSON 4 ファーストクラス関数
LESSON 5 クロージャと部分適用
LESSON 6 リスト
LESSON 7 再帰のルールとパターンマッチング
LESSON 8 再帰関数の記述
LESSON 9 高階関数
LESSON 10 演習:関数型オブジェクト指向プログラミング
UNIT 2 型の紹介
LESSON 11 型の基礎
LESSON 12 カスタム型の作成
LESSON 13 型クラス
LESSON 14 型クラスを使用する
LESSON 15 演習:秘密のメッセージ
UNIT 3 型によるプログラミング
LESSON 16 直積型と直和型
LESSON 17 合成によるデザイン:SemigroupとMonoid
LESSON 18 パラメータ化された型
LESSON 19 Maybe型:欠損値に対処する
LESSON 20 演習:時系列
UNIT 4 HaskellのI/O
LESSON 21 Hello World!:IO型の紹介
LESSON 22 コマンドラインの操作と遅延I/O
LESSON 23 テキストとUnicodeの操作
LESSON 24 ファイルの操作
LESSON 25 バイナリデータの操作
LESSON 26 演習:バイナリファイルと書籍データの処理
UNIT 5 コンテキストでの型の操作
LESSON 27 Functor型クラス
LESSON 28 Applicative型クラス:関数をコンテキスト内で使用する
LESSON 29 コンテキストとしてのリスト:Applicative型クラスをさらに掘り下げる
LESSON 30 Monad型クラス
LESSON 31 do表記を使ってMonadを扱いやすくする
LESSON 32 リストモナドとリスト内包
LESSON 33 演習:HaskellでのSQL形式のクエリ
UNIT 6 コードの整理とプロジェクトのビルド
LESSON 34 Haskellコードをモジュールにまとめる
LESSON 35 stackを使ってプロジェクトをビルドする
LESSON 36 QuickCheckを使ったプロパティテスト
LESSON 37 演習:素数ライブラリの作成
UNIT 7 実践Haskell
LESSON 38 HaskellのエラーとEither型
LESSON 39 HaskellでのHTTPリクエストの作成
LESSON 40 Aesonを使ったJSONデータの処理
LESSON 41 Haskellでのデータベースの使用
LESSON 42 Haskellでの効率的でステートフルな配列
APPENDIX A あとがき:次のステップ
A.1 Haskellをさらに詳しく調べる
A.2 Haskellよりも強力な型システム
A.3 他の関数型プログラミング言語
APPENDIX B 練習問題の解答
著者紹介
So cool! I have more copies than I need so if anyone out there knows someone that would like a Japanese edition let me know and I’ll see if I can find a way to send it to them! pic.twitter.com/rsOq0jS6SC
— Will Kurt (@willkurt) September 3, 2019
出版社情報
本書は
Will Kurt , "Get Programming with Haskell"
ISBN 9781617293764, Manning Publications Co., 2018 March
の日本語版です。
【本書のポイント】
・7つのユニットと42の短い章構成
・節ごとの理解度チェック
・章ごとの練習問題
・豊富な補足事項とポイント詳解
【読者が得られること】
・関数型プログラミングの基礎知識
・Haskellによる実用的なプログラミング能力
・抽象度の高い思考方法
英語の原著
原著の出版社情報
サンプルコード
原著の出版社ページにソースコードのダウンロードリンクがありました。
https://www.manning.com/downloads/1472
このリンクにアクセスすると、「source-code.zip」という圧縮ファイルがダウンロードできます。
解凍すると、本書で例示されているサンプルコードが見られます。
(全部じゃなくて、長めのコードだけ入ってました。)