Je suis en train de répondre à cette question: "Étant donné le type de données algébriqueType d'instance de classe redéfinissant
data Maybe a = Nothing | Just a
ramasser la déclaration d'instance correcte qui montre que le constructeur de type
Maybe
est unMonad
." (Prise d'ici: « DelftX: FP101x Introduction à la programmation fonctionnelle »La façon dont je suis en train de Anwer est en compilant chaque réponse potenciel à son tour, par exemple, celui-ci.
instance Monad Maybe where return x = Just x Nothing >>= _ = Nothing (Just x) >>= f = f x
Je ne peux pas le compiler, car il est déjà défini dans le prélude
HwEx9.hs:16:10: error: Duplicate instance declarations: instance Monad Maybe -- Defined at HwEx9.hs:16:10 instance Monad Maybe -- Defined in `GHC.Base'
Ma question est:.? Comment puis-je compiler
meilleure façon: définir votre propre type 'Maybe' semblable. – melpomene
Il est impossible d'éviter l'importation d'une instance de classe de type pour un type donné. (Voir https://stackoverflow.com/a/8731340/6476589) –
Modifier pour MyMaybe? – immibis