Ich versuche, diese Frage zu beantworten: „den algebraischen Datentyp BeiTyp Klasseninstanz neu zu definieren
data Maybe a = Nothing | Just a
die richtigen Instanz Erklärung auswählen, die zeigt, dass der Typkonstruktor
Maybe
einMonad
ist.“ (Von hier genommen: „DelftX: FP101x Einführung in die funktionale Programmierung“Der Weg den ich versuche anwer es durch die Zusammenstellung jedes potencial Antwort wiederum ist zum Beispiel diese:.
instance Monad Maybe where return x = Just x Nothing >>= _ = Nothing (Just x) >>= f = f x
ich kann es nicht kompilieren, weil es bereits in der Einleitung definiert ist
HwEx9.hs:16:10: error: Duplicate instance declarations: instance Monad Maybe -- Defined at HwEx9.hs:16:10 instance Monad Maybe -- Defined in `GHC.Base'
Meine Frage lautet:. Wie kann ich es kompilieren
Der einfachste Weg: Definieren Sie Ihren eigenen 'Maybe' artigen Typen. – melpomene
Es gibt keine Möglichkeit, den Import einer Typklasseninstanz für einen bestimmten Typ zu vermeiden. (siehe weiter https://StackOverflow.com/a/8731340/6476589) –
Ändern Sie es zu MyMaybe? – immibis