2016-04-11 10 views
1

die neueste Version von Happy gibt die folgende Fehlermeldung mit GHC 7.10.4Haskell: Probleme Glückliche 1.19.5 mit GHC mit 7.10.3

Kein Beispiel für (Applicative HappyIdentity) von den übergeordneten Klassen einer Instanz entstehen Erklärung

Ich denke, ich sollte nicht vermasseln Happy, aber wie kann ich mein Problem lösen?

+1

glücklich 1.19.5 tatsächlich kompiliert für mich mit GHC 7.10.3. Sind Sie sicher, dass Sie versucht haben, 1.19.5 und nicht eine ältere Version zu kompilieren? – Xandaros

Antwort

1

Beginnend mit GHC 7.10 wurde die "Applicative Monad Proposal" implementiert. Dies ist eine bahnbrechende Änderung und die Happy-Bibliothek wurde noch nicht aktualisiert, um dies zu beheben.

Es gibt eine migration guide im Haskell-Wiki, die genau dieses Problem anspricht.

Grundsätzlich seit Applicative und Functor sind jetzt Superklassen von Monad Sie müssen Instanz Deklarationen hinzufügen. In diesem Fall ist HappyIdentity eine Instanz von Monad, daher müssen Sie die Instanzen Applicative HappyIdentity und Functor HappyIdentity hinzufügen. Außerdem kann die Monad Instanz entfernt werden, da sie jetzt redundant ist.

Ohne die Bibliothek selbst zu ändern, besteht die einzige Möglichkeit darin, auf eine frühere GHC-Version zu wechseln oder zu warten, bis der Bibliotheksverwalter die Bibliothek aktualisiert.