Kontext: Ich bin weniger als eine Woche, um herauszufinden, Haskell aus, ich genieße mich bisher, aber dieser hier stampft mich. Dies scheint das einfachste Beispiel zu sein, das mein Problem demonstriert:Ganz neu bei Haskell, warum funktioniert diese Funktion für immer?
Ich habe den folgenden Typ definiert.
data AnInteger = A Integer
instance Eq AnInteger where
a == a' = a == a'
Aber wenn ich versuche, es zu benutzen
ich bekommen, was eine Endlosschleife zu sein scheint. Was geht hier vor, was ich nicht bekomme? Wie kann ich die Syntax korrigieren, um die gewünschte Ausgabe von True zu liefern?
Es ist wie "main = main" sagen. Sie haben Gleichheit als rekursiven Aufruf an sich selbst definiert. – 4castle
Bitte posten Sie in Zukunft den Bildtext, nicht das Bild. Die meisten Terminals lassen sie in irgendeiner Weise ausschneiden und einfügen. Bilder mit Text sind hier auf SO verpönt. – chi