Haskell-Typ-Familienanwendungen werden nicht ausgewertet

9

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.

%Vor%

Könnte ich irgendwie die Auswertung von ID () erzwingen? Ist es ein Compilerfehler?

Ich benutze GHC 7.8.3

    
Boldizsár Németh 16.09.2014, 16:32
quelle

1 Antwort

2

Das Problem ist die Art von ConstID .

%Vor%     
Kelemen Zoltán 17.09.2014, 08:53
quelle