Skip to content

テスト駆動開発から始める Haskell 入門

純粋関数型プログラミング言語 Haskell で、TDD(テスト駆動開発)を実践しながら FizzBuzz を段階的に構築していきます。

対象読者

  • プログラミングの基礎知識を持つ開発者
  • 純粋関数型言語と TDD に興味がある方
  • 型クラスや代数的データ型を実践的に学びたい方

開発環境

ツール バージョン 用途
GHC 9.8.4 Haskell コンパイラ
Stack 3.7.1 ビルドツール・パッケージマネージャ
HSpec 2.11.12 BDD スタイルテストフレームワーク
HLint 3.10 静的解析ツール
Nix - 開発環境管理

記事構成

第 1 部: TDD の基本サイクル

  1. TODO リストと最初のテスト
  2. 仮実装と三角測量
  3. 明白な実装とリファクタリング

第 2 部: 開発環境と自動化

  1. バージョン管理と Conventional Commits
  2. パッケージ管理と静的解析
  3. タスクランナーと CI/CD

第 3 部: 型クラスと代数的データ型

  1. 代数的データ型と型クラスによるポリモーフィズム
  2. パターンマッチとガード
  3. モジュール設計とスマートコンストラクタ

第 4 部: 関数型プログラミング

  1. 高階関数とカリー化
  2. 関数合成とポイントフリースタイル
  3. モナドとエラーハンドリング

ソースコード

実装コードは apps/haskell/ にあります。