Hoogle está disponible sin conexión, instalable desde Cabal: http://hackage.haskell.org/package/hoogle
Las instrucciones de uso se encuentran en http://www.haskell.org/haskellwiki/Hoogle#Command_Line_Search_Flags .
Uso:
$ 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
Cree una base de datos predeterminada con hoogle data(más información en http://neilmitchell.blogspot.com/2008/08/hoogle-database-generation.html ).
EDITAR: Una sesión de uso después de instalar Hoogle localmente:
$ hoogle
No query entered
Try --help for command line options
$ hoogle data
(downloads databases...takes a few minutes)
Me encontré con un error aquí ... aparentemente está relacionado con la versión de Cabal, así que lo actualicé (http://hackage.haskell.org/trac/hackage/ticket/811). Eso no ayudó, así que corrí hoogle data all, lo cual cancelé ya que estaba tardando tanto (parece pasar por todos los paquetes en Hackage). Todavía no permitiría una consulta como, hoogle mappero sí permitió hoogle map +base(es decir, restringió la búsqueda al basepaquete). ¡Ojalá funcione para usted!
EDIT2: Esto parece solucionar el problema (para mí):
$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: Truea su~/.cabal/configarchivo y luego reinstalando esos paquetes concabal install world --reinstall.hoogle data --localMe tomó 3 minutos (la mayoría de los cuales se estaban descargando). Luego puedo ejecutar elhoogle foldlque encuentra la función foldl, ohoogle server --localy luego visitar,http://localhost/que es un servidor completo e incluye enlaces a la documentación HTML.hoogle data allyhoogle data --localhago / descargo muchas cosas, pero todavía no me permite encontrar funciones en paquetes (por ejemploparseFileWithMode). ¿Se supone que esto funciona?hoogle +haskell-src-exts parseFilehoogle server --localnecesita más visibilidad. Es el análogo a eggodoc -http.La documentación HTML se puede descargar
.tar.bz2desde el sitio web de Haskell:https://downloads.haskell.org/~ghc/latest/docs/
Acabo de descargar https://www.haskell.org/ghc/docs/7.6.3/libraries.html.tar.bz2 y es exactamente lo que estaba esperando.
También hay otras opciones, como Dash y Zeal , y vea también ese hilo de reddit .
fuente
hoogle server --localSi instala la plataforma Haskell, incluye los documentos GHC y los documentos de la biblioteca GHC (que cubren las bibliotecas principales). En Windows, se encuentran en el menú Inicio en "Todos los programas | Plataforma Haskell".
fuente
haskell-platform-docque puedes instalar.Edite su archivo ~ / .cabal / config. Busque la línea (probablemente comentada) que dice
documentation: False. Cambie esa líneadocumentation: Truey descomente. Ahora, cuando cree proyectos concabal installdocumentación, también se creará y guardará localmente.Mire un poco más en ese mismo archivo de configuración y encontrará opciones como doc-index-file, docdir, datadir, prefix, etc. que le permiten configurar dónde se almacena la documentación.
fuente
Puede que no sea "canónica" de por sí, pero creo que la opción más útil es un software docset como tablero (OS X) / celo + docsets generados. De esta manera, obtendrá la búsqueda de forma gratuita y también tendrá la opción de crear sus conjuntos de documentos personalizados. No es ningún problema obtener la documentación de eglefino del paquete 'base' con cualquiera de los proyectos listos para usar. Puede crear conjuntos de documentos personalizados con haddocset o dash-haskell . También se integra muy bien con emacs / vim / otros editores, le permite tener conjuntos de documentos basados en proyectos (de esta manera, tendrá las versiones relevantes por proyecto, ¡olvídese de todas estas molestias con hoogle local!) Y no lo haga restringirlo a cualquier flujo de compilación que pueda tener.
Si construye su proyecto con
cabal-installpuede configurardocumentation: Trueen su~/.cabal/config, luego reinstale las dependencias para obtener eglefino generado localmente.Si está usando la pila , puede utilizar el
stack haddockcomando para construir sus dependencias y proyectar con abadejos generados.fuente
Yo uso devdocs.io , tiene documentos para muchos idiomas y bibliotecas (incluido Haskell) y tiene un modo fuera de línea.
fuente
Velocity es una hermosa herramienta universal gratuita para hacer precisamente eso. Es compatible con una amplia gama de idiomas, tecnologías y bibliotecas, y se actualiza con un clic.
Probablemente podrá encontrar más de lo que ya está usando en su lista de documentación.
fuente
Para Windows, instale los paquetes wget y curl de cygwin. Eso permitirá
hoogle data.fuente
Si está utilizando una distribución derivada de Debian y sus paquetes, encontrará la documentación combinada de todos los paquetes Haskell instalados (si también instala los
libghc-foo-docpaquetes) enAdemás, los
libghc-foo-docpaquetes contienen los archivos necesarios para hoogle, por lo que si es asíapt-get install hoogle, debería poder utilizarlos inmediatamentehooglepara buscar en todas las bibliotecas instaladas de esta manera.fuente