Mehrdeutiges Ereignis

7

Ich lerne gerade, wie man Typklassen schreibt. Ich kann nicht scheinen, die Ord-Klasse mit Kompilierungsfehlern mehrdeutigen Auftretens zu schreiben.

%Vor%

Fehler sind

%Vor%

und so weiter. Ich denke, es kollidiert mit der vom Prelude definierten Version.

    
user1850254 07.05.2013, 23:06
quelle

2 Antworten

19

Das Problem ist, dass die Namen Ihrer Funktionen mit denen aus dem Prelude kollidieren.

Um dies zu lösen, können Sie eine explizite Importdeklaration hinzufügen, die die widersprüchlichen Namen versteckt:

%Vor%     
hammar 07.05.2013, 23:19
quelle
10

hammar hat recht, es liegt daran, dass er mit den Standardnamen von Prelude kollidiert. Aber es gibt andere Lösungen zusätzlich zu hiding Namen von Prelude.

Sie können Prelude-qualifiziert importieren:

%Vor%

Als nächstes können Sie sowohl auf Sie als auch auf die Standardversion der Funktion zugreifen: max führt Ihre Version aus und P.max führt Standard-Preludes aus.

Es gibt auch eine Möglichkeit, alle Standard-Prelude-Funktionen vollständig zu verbergen: GHCs Erweiterung NoImplicitPrelude ( Ссылка ). Es kann schriftlich aktiviert werden

%Vor%

ganz am Anfang Ihrer Datei

    
Andrey Komarov 07.05.2013 23:34
quelle

Tags und Links