戦略
純粋な関数で部品を作る
関数が純粋で、テストケースを用意する方法があれば、単体テストや
QuickCheck
などで確実にテストできる。
データ型から操作を導出する
ジェネリクス
や
HKD
を使えば、処理を
データ型
ごとに書かなくても、一般的な形で導出できることが増える。
例えば、データ型にモノイドのインスタンスを与えたいとき、
generic-monoid
を使えば
deriving (Semigroup, Monoid) via GenericMonoid ...
と書くだけでことが済んでしまう。
新しいデータ型を作る労力を減らせれば、より安全性の高いプログラムも書きやすくなる。