Lernen von Haskell-Paketen

8

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?

    
Daniel Littlewood 23.07.2015, 14:49
quelle

2 Antworten

6

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.)

    
Ørjan Johansen 23.07.2015, 14:57
quelle
3
  

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.)

    
Daniel Wagner 23.07.2015 22:53
quelle

Tags und Links