generated at
『Haskell入門』

著者


手にとった動機
6章以降の実用的なHaskellに触れたくて
1~5章は気が向いたら読む

読んでみてHaskell中級者向けな本という感じがするmrsekut
10章からしか読んでないけど、少なくともその辺は。
1章~らへんたぶん誰でも読めると思う(読んでないのでしらんけど)





第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.9 型制約
3.10 Preludeにおける型クラス
第4章 I/O処理
4.1 IO 型
4.2 コマンドライン引数と環境変数
4.3 入出力
4.4 ファイルシステム

第5章 モナド
5.1 モナドアクション
5.2 Monad の性質を利用する
5.6 STモナド
第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アプリケーションの作成
この辺を使う
ここの関係性がよくわからん #??
DB操作にはHRRHDBC
どういうかんけい #??
viewはMustache
たぶん2021年現在では若干古い
作るものの概要
毎日の体重を記録するwebサービス
login, user登録
体重入力、体重一覧、グラフ
使ってるGHC拡張
FlexibleInstances
MultiParamTypeClasses
TemplateHaskell
DataKinds
DeriveGeneric
versionが違うからだろうけどそのまま書いても動かない箇所がたまにあるmrsekut
Dtabase.Relational.Query はなくなっているのでかわりに、 Database.Relational を使う


第11章 サーバとクライアントの連携
オークションシステムの開発
使ってるGHC拡張
型駆動