Ich habe eine interessante Situation gefunden, wenn ich Datenarten mit Typfamilien verwende.
Die Fehlermeldung des Compilers lautet No instance for (C (ID ())) arising from a use of W
. Es deutet darauf hin, dass eine Anwendung der Typfamilie nicht vollständig ausgewertet wird, selbst wenn sie gesättigt ist. :kind! ID ()
ergibt ()
, entsprechend der C ()
-Instanz sollte verwendet werden.
Könnte ich irgendwie die Auswertung von ID ()
erzwingen? Ist es ein Compilerfehler?
Ich benutze GHC 7.8.3
Tags und Links haskell gadt type-families data-kinds