Gibt es einen Grund, warum dieser Code nicht kompiliert wird:
%Vor%mit Fehler:
%Vor%Aber wenn ich die Typ-Familien-Definition in
ändere %Vor%es ist gut zusammengestellt?
(ghc-7.10.3)
Aufgrund einer Bitte um ein vollständiges Arbeitsbeispiel von Daniel Wagner habe ich eine Antwort gefunden.
Komplettes Beispiel zuerst:
%Vor% Das Problem ist hier mit PolyKinds
Pragma. Ohne es geht es gut.
Ich brauche es wahrscheinlich, damit ich schreiben kann
und alles geht gut.
Der Grund ist jetzt klar. Die Typfamilie ( ==
) hat keine poly-kinded Instanzen (Details, die erklären, warum solche Instanzen nicht bereitgestellt werden hier ), damit wir nicht alle Gleichheiten reduzieren können. Also müssen wir eine Art angeben.
Tags und Links haskell type-families data-kinds