Haskell における Phantom Type を用いた演算モードの型安全な管理

型クラスインスタンスの曖昧さへの対処 Haskell において、同じ型に対して複数のモノイド則が成立する場合があります。例えば整数型 Int は、加法に関するモノイド(単位元 0、演算 +)としても、乗法に関するモノイド(単位元 1、演算 *)としても振る舞うことができます。通常、型クラスはインスタンス化された型のみで解決されるため、このままではどちらの演算を使用す ...

5月29日 11:34 投稿