Hoogle est disponible hors ligne, installable depuis Cabal: http://hackage.haskell.org/package/hoogle
Les instructions d'utilisation sont disponibles à l' adresse http://www.haskell.org/haskellwiki/Hoogle#Command_Line_Search_Flags .
Usage:
$ 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
Créez une base de données par défaut avec hoogle data
(plus d'informations sur http://neilmitchell.blogspot.com/2008/08/hoogle-database-generation.html ).
EDIT: Une session d'utilisation après l'installation de Hoogle localement:
$ hoogle
No query entered
Try --help for command line options
$ hoogle data
(downloads databases...takes a few minutes)
J'ai rencontré une erreur ici ... apparemment, elle est liée à la version de Cabal, alors j'ai mis à jour cela (http://hackage.haskell.org/trac/hackage/ticket/811). Cela n'a pas aidé, alors j'ai couru hoogle data all
, ce que j'ai annulé car cela prenait si longtemps (cela semble passer par tous les paquets sur Hackage). Cela n'autorisait toujours pas une requête comme hoogle map
mais l'a permis hoogle map +base
(c'est-à-dire restreindre la recherche au base
paquet). Espérons que cela fonctionne pour vous!
EDIT2: Cela semble résoudre le problème (pour moi):
$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
à votre~/.cabal/config
fichier puis en réinstallant ces packages aveccabal install world --reinstall
.hoogle data --local
m'a pris 3 minutes (dont la plupart étaient en téléchargement), je peux ensuite exécuterhoogle foldl
qui trouve la fonction foldl, ouhoogle server --local
puis visiterhttp://localhost/
qui est à la fois un serveur complet et comprend des liens vers la documentation HTML.hoogle data all
ethoogle data --local
faire / télécharger beaucoup de choses, mais cela ne me permet toujours pas de trouver des fonctions dans les packages (par exempleparseFileWithMode
). Est-ce censé fonctionner?hoogle +haskell-src-exts parseFile
hoogle server --local
a besoin de plus de visibilité. C'est l'analogon par exemplegodoc -http
.La documentation HTML peut être téléchargée comme
.tar.bz2
partir du site Web Haskell:https://downloads.haskell.org/~ghc/latest/docs/
Je viens de télécharger https://www.haskell.org/ghc/docs/7.6.3/libraries.html.tar.bz2 et c'est exactement ce que j'espérais.
Il existe également d'autres options, telles que Dash et Zeal , et voir aussi ce fil de discussion reddit .
la source
hoogle server --local
Si vous installez la plate-forme Haskell, elle inclut les documents GHC et les documents de la bibliothèque GHC (qui couvrent les bibliothèques principales). Sous Windows, ils se trouvent dans le menu Démarrer sous «Tous les programmes | Haskell Platform».
la source
haskell-platform-doc
vous pouvez installer.Modifiez votre fichier ~ / .cabal / config. Recherchez la ligne (probablement commentée) qui dit
documentation: False
. Changez cette lignedocumentation: True
et supprimez-la de commentaire. Désormais, lorsque vous créez des projets, lacabal install
documentation sera également construite et enregistrée localement.Regardez un peu plus dans ce même fichier de configuration et vous trouverez des options comme doc-index-file, docdir, datadir, prefix, etc. qui vous permettent de configurer l'emplacement de stockage de la documentation.
la source
Ce n'est peut-être pas «canonique» en soi, mais je pense que l'option la plus utile est un logiciel docset comme dash (OS X) / zeal + généré des docsets. De cette façon, vous obtiendrez la recherche gratuitement et aurez également une option pour créer vos ensembles de documents personnalisés. Ce n'est pas un problème pour obtenir la documentation haddock du package «de base» avec l'un ou l'autre des projets hors de la boîte. Vous pouvez créer des ensembles de documents personnalisés avec haddocset ou dash-haskell . En outre, il s'intègre bien avec emacs / vim / autres éditeurs, vous permet d'avoir des ensembles de documents basés sur des projets (vous aurez les versions pertinentes sur une base par projet de cette façon, oubliez tous ces tracas avec hoogle local!) Et ne le faites pas vous restreindre à tout flux de construction que vous pouvez avoir.
Si vous construisez votre projet avec,
cabal-install
vous pouvez définirdocumentation: True
dans votre~/.cabal/config
, puis réinstallez les dépendances pour obtenir des haddocks générés localement.Si vous utilisez stack , vous pouvez utiliser la
stack haddock
commande pour créer vos dépendances et votre projet avec des haddocks générés.la source
J'utilise devdocs.io , il contient des documents pour de nombreux langages et bibliothèques (y compris Haskell) et dispose d'un mode hors ligne.
la source
Rapidité est un outil universel gratuit et magnifique pour faire exactement cela. Il prend en charge un large éventail de langues, de technologies et de bibliothèques, et la mise à jour en un clic.
Vous pourrez probablement trouver plus de ce que vous utilisez déjà dans sa liste de documentation.
la source
Pour Windows, installez les packages wget et curl de cygwin. Cela permettra
hoogle data
.la source
Si vous utilisez une distribution dérivée de Debian et ses packages, vous trouverez la documentation combinée de tous les packages Haskell installés (si vous installez également les
libghc-foo-doc
packages) surDe plus, les
libghc-foo-doc
paquets contiennent les fichiers nécessaires pour hoogle, donc si vousapt-get install hoogle
, vous devriez immédiatement pouvoir utiliserhoogle
pour rechercher dans toutes les bibliothèques installées de cette façon.la source