Hoogle ist offline verfügbar und kann von Cabal installiert werden: http://hackage.haskell.org/package/hoogle
Anweisungen zur Verwendung finden Sie unter http://www.haskell.org/haskellwiki/Hoogle#Command_Line_Search_Flags .
Verwendung:
$ hoogle --help
Hoogle v4.2.8, (C) Neil Mitchell 2004-2011
http://haskell.org/hoogle
hoogle [COMMAND] ... [OPTIONS]
Commands:
[search] Perform a search
data Generate Hoogle databases
server Start a Hoogle server
combine Combine multiple databases into one
convert Convert an input file to a database
test Run tests
dump Dump sections of a database to stdout
rank Generate ranking information
log Analyse log files
Common flags:
-? --help Display help message
-V --version Print version information
-v --verbose Loud verbosity
-q --quiet Quiet verbosity
Erstellen Sie eine Standarddatenbank mit hoogle data
(weitere Informationen unter http://neilmitchell.blogspot.com/2008/08/hoogle-database-generation.html ).
BEARBEITEN: Eine Nutzungssitzung nach der lokalen Installation von Hoogle:
$ hoogle
No query entered
Try --help for command line options
$ hoogle data
(downloads databases...takes a few minutes)
Ich bin hier auf einen Fehler gestoßen ... anscheinend hängt er mit der Version von Cabal zusammen, also habe ich diesen aktualisiert (http://hackage.haskell.org/trac/hackage/ticket/811). Das hat nicht geholfen, also bin ich gelaufen hoogle data all
, was ich abgesagt habe, da es so lange gedauert hat (es scheint jedes Paket auf Hackage durchzugehen). Es würde immer noch keine Abfrage wie hoogle map
zulassen, aber es erlaubte hoogle map +base
(dh die Suche auf das base
Paket beschränken). Hoffentlich funktioniert es für Sie!
EDIT2: Dies scheint das Problem zu beheben (für mich):
$cd .cabal/share/hoogle-4.2.8/databases
$hoogle combine base.hoo
$hoogle foldl\'
Data.List foldl' :: (a -> b -> a) -> a -> [b] -> a
Data.Foldable foldl' :: Foldable t => (a -> b -> a) -> a -> t b -> a
documentation: True
zu Ihrer~/.cabal/config
Datei hinzufügen und diese Pakete dann mit neu installierencabal install world --reinstall
.hoogle data --local
Ich habe 3 Minutenhoogle foldl
gebraucht (die meisten davon wurden heruntergeladen). Ich kann dann ausführen , um die Foldl-Funktion zu finden, oderhoogle server --local
dann besuchen,http://localhost/
was sowohl ein vollständiger Server ist als auch Links zur HTML-Dokumentation enthält.hoogle data all
undhoogle data --local
mache / lade eine Menge Sachen, aber es lässt mich immer noch nicht Funktionen in Paketen finden (zBparseFileWithMode
). Soll das funktionieren?hoogle +haskell-src-exts parseFile
hoogle server --local
braucht mehr Sichtbarkeit. Es ist das Analogon zu zgodoc -http
.Die HTML-Dokumentation kann
.tar.bz2
von der Haskell-Website heruntergeladen werden:https://downloads.haskell.org/~ghc/latest/docs/
Ich habe gerade https://www.haskell.org/ghc/docs/7.6.3/libraries.html.tar.bz2 heruntergeladen und genau darauf habe ich gehofft.
Es gibt auch andere Optionen, wie Dash und Zeal , und siehe auch diesen reddit-Thread .
quelle
hoogle server --local
Wenn Sie die Haskell-Plattform installieren, enthält sie die GHC-Dokumente und die GHC-Bibliotheksdokumente (die die Kernbibliotheken abdecken). Unter Windows befinden sie sich im Startmenü unter "Alle Programme | Haskell-Plattform".
quelle
haskell-platform-doc
Sie installieren können.Bearbeiten Sie Ihre ~ / .cabal / config-Datei. Suchen Sie nach der Zeile (wahrscheinlich auskommentiert), in der steht
documentation: False
. Ändern Sie diese Zeile indocumentation: True
und kommentieren Sie sie aus. Wenn Sie jetzt Projekte mitcabal install
Dokumentation erstellen, werden diese auch lokal erstellt und gespeichert.Wenn Sie sich in derselben Konfigurationsdatei etwas genauer umschauen, finden Sie Optionen wie doc-index-file, docdir, datadir, prefix usw., mit denen Sie konfigurieren können, wo die Dokumentation gespeichert ist.
quelle
Es mag an sich nicht "kanonisch" sein, aber ich glaube, dass die nützlichste Option eine Docset-Software wie Dash (OS X) / Eifer + generierte Docsets ist. Auf diese Weise erhalten Sie die Suche kostenlos und haben auch die Möglichkeit, Ihre benutzerdefinierten Docsets zu erstellen. Es ist kein Problem, die 'Basis'-Paket-Schellfischdokumentation mit einem der Projekte sofort zu erhalten. Sie können benutzerdefinierte Docsets mit haddocset oder dash-haskell erstellen . Außerdem lässt es sich gut in emacs / vim / andere Editoren integrieren, ermöglicht es Ihnen, projektbasierte Dokumentensätze zu erstellen (Sie haben auf diese Weise die relevanten Versionen pro Projekt, vergessen Sie all diesen Aufwand mit lokalem hoogle!) Und tun Sie dies nicht Beschränken Sie sich auf jeden Build-Flow, den Sie haben können.
Wenn Sie Ihr Projekt mit erstellen, können
cabal-install
Siedocumentation: True
in Ihrem festlegen~/.cabal/config
, dann installieren Sie die Abhängigkeiten neu, um lokal generierte Schellfische zu erhalten.Wenn Sie einen Stapel verwenden , können Sie den
stack haddock
Befehl verwenden, um Ihre Abhängigkeiten und Projekte mit generierten Schellfischen zu erstellen.quelle
Ich benutze devdocs.io , es hat Dokumente für viele Sprachen und Bibliotheken (einschließlich Haskell) und einen Offline-Modus.
quelle
Velocity ist ein freies und schönes universelles Werkzeug, um genau das zu tun. Es unterstützt eine Vielzahl von Sprachen, Technologien und Bibliotheken sowie die Aktualisierung mit einem Klick.
In der Dokumentationsliste finden Sie wahrscheinlich mehr von dem, was Sie bereits verwenden.
quelle
Installieren Sie unter Windows die wget- und curl-Pakete von cygwin. Das wird ermöglichen
hoogle data
.quelle
Wenn Sie zufällig eine von Debian abgeleitete Distribution und deren Pakete verwenden, finden Sie die kombinierte Dokumentation aller installierten Haskell-Pakete (wenn Sie auch die
libghc-foo-doc
Pakete installieren ) unterDarüber hinaus
libghc-foo-doc
enthalten die Pakete die für hoogle erforderlichen Dateien. Wenn Sie dies tun,apt-get install hoogle
sollten Sie sofort in der Lage sein,hoogle
alle auf diese Weise installierten Bibliotheken zu durchsuchen.quelle