Ich weiß, dass ich normalerweise nur Mustervergleiche durchführen kann, aber manchmal würde ich diese Funktionen nützlich finden:
%Vor%Gibt es so etwas in der Standardbibliothek?
Obwohl das ziemlich alt ist, hier als Referenz veröffentlichen.
Dies ist jetzt in der Standardbibliothek unter Data.Either
seit 4.7:
isLeft :: Either a b -> Bool
Gibt True zurück, wenn der angegebene Wert ein Left-Wert ist, andernfalls False.
isRight :: Either a b -> Bool
Gibt True zurück, wenn der angegebene Wert ein Richtiger Wert ist, ansonsten False.
Wie bereits erwähnt wurde, gibt es keine solche Funktion in der Standardbibliothek, und Sie können Ihre eigenen auf verschiedene Arten implementieren.
Beachten Sie jedoch, dass Fragen der Form "Ist X in der Standardbibliothek?" am einfachsten von Hoogle , denn selbst wenn Sie den Namen einer Funktion nicht kennen, können Sie nach dem -Typ suchen.
Hoogle ist auch schlau genug, um zu wissen, dass die Argumentreihenfolge keine Rolle spielt, und es werden auch Ergebnisse angezeigt, deren Typen ähnlich (z. B. generischer) sind als der Typ, nach dem Sie gesucht haben.
In diesem Fall führt die Suche nach Either a b -> Bool
nicht zu vielversprechenden Ergebnissen , das ist ein guter Hinweis darauf, dass es in der Standardbibliothek nicht existiert.