Wenn Sie im Interpreter arbeiten, ist es oft praktisch, eine Funktion an einen Namen zu binden, zum Beispiel:
%Vor% Dies aliasiert den Namen f
auf die Funktion (+1)
. Einfach.
Das funktioniert jedoch nicht immer. Ein Beispiel, das ich gefunden habe, was einen Fehler verursacht, ist der Versuch, nub
vom Modul Data.List
zu aliasieren. Zum Beispiel
Wenn ich jedoch explizit das Argument x
anführe, funktioniert es ohne Fehler:
Kann jemand dieses Verhalten erklären?
Typ Standardregeln in aktuellen Ghci-Versionen sind etwas undurchschaubar.
Sie können eine Typ-Signatur für f
angeben. Oder fügen Sie :set -XNoMonomorphismRestriction
zu Ihrer ~/.ghci
-Datei hinzu, wie zuvor von Chris empfohlen.
Tags und Links haskell monomorphism-restriction