J'ai un type
data Phase = PhaseOne
| PhaseTwo
| PhaseThree deriving Enum
et cinq opérations à effectuer sur chaque phase
read
write
validate
evalStatus
update
J'ai commencé à essayer de créer une classe de type. Le problème est qu'elles sont toutes du même type. J'aimerais pouvoir faire quelque chose comme
instance MyClass PhaseThree where
read a = ...
De plus, j'ai besoin de surcharger le type de retour.
Je sais que les cours de type ne sont pas ce que je veux. Mais je ne suis pas sûr de savoir comment faire ce que je veux. J'ai pensé J'ai pensé à un GADT, mais cela ne convient pas tout à fait, car je dois pouvoir placer chaque instance dans un fichier distinct.
J'aimerais avoir des conseils sur les mécanismes que je dois examiner ? Ai-je donné suffisamment d'informations ?