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 eine der besten Möglichkeiten, 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?Von Haskell-Paketen lernen
Antwort
Ich sehe in der Regel in der Dokumentation Hackage Pakete online auf, bei 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.
EDIT auf gebrochene docs:
Leider Hackage der doc Bausystem manchmal nicht aus irgendeinem Grunde führt, in der Regel in der Liste der Module einfach nur Text ohne Links zu sein. In diesem Fall empfiehlt es sich, 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. (Aber überprüfen, ob es Links zu anderen docs auf der Verpackung der Startseite.)
Das Beispiel bheklilr gab in den Kommentaren eine sehr hilfreiche Dokumentation. Ich habe versucht, [gloss] (http://hackage.haskell.org/package/gloss) zu verwenden, und es gibt fast keine Beschreibung und keine Links zu den Modulen - ist das nur ein Problem des Unglücks oder bin es Ich vermisse etwas? –
@DanielLittlewood Pech, aka eine kaputte Dokumentation zu bauen. [Diese etwas ältere Version funktioniert] (http://hackage.haskell.org/package/gloss-1.9.2.1). Ich werde meine Antwort ein wenig bearbeiten. –
Aha, vielen Dank! –
jede Dokumentation
Der cabal haddock
Befehl Dokumentation für Sie bauen und sie in dist/doc
. 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
oder eingestellt hyperlink-source: True
im haddock
Abschnitt ~/.cabal/config
verwenden möchten.
lesen Sie den Code in das Paket
Sie können cabal unpack
ein Paket, um die Quelle zu erhalten. Für Paket foo
Version x.y
wird die Quelle standardmäßig in einem Verzeichnis mit dem Namen foo-x.y
platziert.
mit ihm spielen in GHCi
Sobald Sie die Paketquelle haben, können Sie in das Verzeichnis navigieren und cabal repl
laufen geladen, um eine GHCI-Instanz mit allen Paket-Module zu erhalten.
sehen, was die Modulnamen sind
Der Modules:
Abschnitt cabal info
hier von Interesse sein wird. 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 auf Hackage/welches Paket-Repository Sie konfiguriert haben cabal
zu verwenden, auch wenn das Paket noch nicht installiert ist, während ghc-pkg
über jedes Paket wissen, das Sie installiert haben , auch wenn dieses Paket nicht von Hackage stammt.)
Ich gehe normalerweise zum hackage und lese die Dokumentation für jedes Paket dort. Wenn Sie zum Beispiel "cabal install lens" verwenden, besuchen Sie einfach http://hackage.haskell.org/package/lens, um die Dokumentation für die neueste Version zu sehen, und Sie können die Version immer auf den von Ihnen installierten Stand zurücksetzen. – bheklilr
@bheklilr Hoppla, habe deinen Kommentar nicht vor dem Posten gesehen. –