Also habe ich Pakete in Haskell mit Cabal installiert. Ich kann keine Dokumentation für die meisten davon (im Allgemeinen) sehen, und mir wurde gesagt, dass einer der besten Wege, Haskell zu lernen, nur darin besteht, den Code im Paket zu lesen, herauszufinden, was er tut und mit dem er spielt es in GHCi oder so. Aber wie machst du das? Nach dem Installieren dieser Pakete in einer Sandbox oder etwas, kann ich nicht einmal sehen, was die Modulnamen sind, geschweige denn ihren Quellcode - wie finde ich diese Informationen?
Normalerweise suche ich die Dokumentation für Hackage-Pakete online unter https://hackage.haskell.org/package/nameOfPackage
. Es hat (wenn nicht kaputt gegangen ist, was leider passiert) Links zur Dokumentation für jedes Modul, sowie Links zum Quellcode darin.
BEARBEITEN bei beschädigten Dokumenten:
Leider schlägt das doc-System von Hackage manchmal aus irgendeinem Grund fehl, was normalerweise dazu führt, dass die Liste der Module einfach nur Text ohne Links ist. In diesem Fall ist es eine gute Idee, die Liste der Links zu älteren Paketversionen zu überprüfen: oft funktioniert eine davon.
Es gibt auch das Problem, dass einige Bibliotheken überhaupt nicht gut dokumentiert sind. In diesem Fall erhalten Sie nur Typdeklarationen, Signaturen und Links zur Quelle. (Überprüfen Sie jedoch, ob auf der Startseite des Pakets Links zu anderen Dokumenten vorhanden sind.)
Siehe Dokumentation
Der Befehl cabal haddock
erstellt die Dokumentation für Sie und fügt sie in dist/doc
ein. Wenn Sie --enable-documentation
(oder documentation: True
in ~/.cabal/config
) verwenden, kompiliert cabal install
auch die Dokumentation für alle Ihre Pakete in ~/.cabal/share/doc
. Sie können auch --hyperlink-source
verwenden oder hyperlink-source: True
im Abschnitt haddock
von ~/.cabal/config
festlegen.
Lesen Sie den Code im Paket
Sie können cabal unpack
ein Paket eingeben, um die Quelle zu erhalten. Für das Paket foo
version x.y
wird die Quelle standardmäßig in ein Verzeichnis namens foo-x.y
gestellt.
spiele damit in GHCi
Sobald Sie die Paketquelle haben, können Sie in das Verzeichnis navigieren und cabal repl
ausführen, um eine ghci-Instanz mit allen geladenen Paketmodulen zu erhalten.
sehen, was die Modulnamen sind
Der Modules:
-Abschnitt von cabal info
wird hier von Interesse sein. Sobald ein Paket installiert ist, können Sie auch ghc-pkg describe
verwenden, um ähnliche Funktionen zu erhalten. (Der Hauptunterschied hier ist, welche Pakete bekannt sind; cabal info
wird wissen, was in Hackage / welches Paket-Repository Sie konfiguriert cabal
zu verwenden, auch wenn das Paket noch nicht installiert ist, während ghc-pkg
wird wissen über jedes Paket, das Sie installiert haben, auch wenn dieses Paket nicht von Hackage stammt.)