Ich habe die Definition für und im Internet gefunden, aber ich konnte die tatsächliche Implementierung von und nicht finden. Ich habe nach einer Art Präludium-Haskell-Datei auf meinem Computer gesucht, aber es gab nichts zurück, was in einem Texteditor geöffnet werden konnte.
Sie können Hoogle verwenden, um nach Haskell-Funktionen zu suchen:
Die Funktionslinks führen Sie zu dem Bibliotheksmodul, in dem die Funktion definiert wurde, und in diesem Fall führt uns der Link für and
hierher:
Sie klicken dann auf den Link Source
rechts neben dem Funktionsnamen und Sie gelangen zur Quelle dieser Funktion. Für den Fall von and
verbindet es uns hier:
Sie werden sehen, dass and
tatsächlich zwei Definitionen hat. Eine davon ist die Standard-Prelude-Definition, die nur aktiviert wird, wenn Sie mit dem USE_REPORT_PRELUDE
-Flag kompilieren, und die andere ist die Definition, mit der das Prelude normalerweise kompiliert wird, die normalerweise optimiert ist.
Sie können nicht erwarten, den Quellcode in Ihrer lokalen Haskell-Distribution zu finden - was wahrscheinlich die Haskell-Plattform ist. Rufen Sie stattdessen Hoogle auf und suchen Sie nach der Funktion. Eine Möglichkeit, die Sie suchen, besteht darin, nach dem Namen and
zu suchen, zu seinem Haddock zu gehen und dann auf "source" zu klicken.
In Hoogle können Sie auch nach Typ-Signatur suchen, d. [Bool] -> Bool
, die Sie wahrscheinlich oft tun werden.
Tags und Links haskell