Anzeigen von benutzerdefinierten Typfehlern in Typfamilien

9

GHC 8.0 verfügt über eine Funktion für benutzerdefinierte Typfehler . Ich probiere das aus, aber ich kann es nicht richtig machen, was ich will:

%Vor%

Die ersten vier Definitionen von main funktionieren wie erwartet:

  1. kompiliert
  2. Fehler: Pair error
  3. Fehler: Unsupported type: Bool
  4. Fehler: Unsupported type: Bool

Für die fünfte Definition möchte ich Unsupported type: Bool anzeigen, aber GHC zeigt:

  1. Fehler: No instance for (Dispatch' (EqCType (TypeError ...) DoubleD) (Bool, Double))

Ich bin verwirrt, warum GHC die ersten drei Fehler korrigiert hat, zeigt aber meinen Typfehler in der endgültigen Definition nicht an. Ich suche nach einer kurzen Erklärung zu warum und einem Workaround, falls möglich. Ist dies nur eine Einschränkung der Implementierung von benutzerdefinierten Typfehlern?

    
crockeea 11.06.2016, 23:22
quelle

0 Antworten

Tags und Links