私はタイプを持っています
data Phase = PhaseOne
| PhaseTwo
| PhaseThree deriving Enum
各フェーズで実行する 5 つの操作
read
write
validate
evalStatus
update
型クラスを作成しようとし始めました。問題は、それらがすべて同じタイプであることです。次のようなことができるようになりたいです
instance MyClass PhaseThree where
read a = ...
また、戻り値の型をオーバーロードする必要があります。
私は型クラスが私が望むものではないことを知っています。しかし、私は自分がやりたいことをする方法がわかりません。私は GADT を考えましたが、各インスタンスを個別のファイルに入れる必要があるため、それは正しくありません。
どのメカニズムを調査する必要があるかについてアドバイスをお願いします。十分な情報を提供しましたか?