スマートコンストラクタ
#Haskell #Haskell_idiom
バリデーション可能なコンストラクタ
実装
データコンストラクタをエクスポートしない
代わりにバリデーションをおこなう専用の関数(スマートコンストラクタ)を用意する
パターンマッチを提供するためにPatternSynonymsを併用することが多い