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 map
pero sí permitió hoogle map +base
(es decir, restringió la búsqueda al base
paquete). ¡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: True
a su~/.cabal/config
archivo y luego reinstalando esos paquetes concabal install world --reinstall
.hoogle data --local
Me tomó 3 minutos (la mayoría de los cuales se estaban descargando). Luego puedo ejecutar elhoogle foldl
que encuentra la función foldl, ohoogle server --local
y luego visitar,http://localhost/
que es un servidor completo e incluye enlaces a la documentación HTML.hoogle data all
yhoogle data --local
hago / descargo muchas cosas, pero todavía no me permite encontrar funciones en paquetes (por ejemploparseFileWithMode
). ¿Se supone que esto funciona?hoogle +haskell-src-exts parseFile
hoogle server --local
necesita más visibilidad. Es el análogo a eggodoc -http
.La documentación HTML se puede descargar
.tar.bz2
desde 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 --local
Si 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-doc
que puedes instalar.Edite su archivo ~ / .cabal / config. Busque la línea (probablemente comentada) que dice
documentation: False
. Cambie esa líneadocumentation: True
y descomente. Ahora, cuando cree proyectos concabal install
documentació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-install
puede configurardocumentation: True
en su~/.cabal/config
, luego reinstale las dependencias para obtener eglefino generado localmente.Si está usando la pila , puede utilizar el
stack haddock
comando 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-doc
paquetes) enAdemás, los
libghc-foo-doc
paquetes contienen los archivos necesarios para hoogle, por lo que si es asíapt-get install hoogle
, debería poder utilizarlos inmediatamentehoogle
para buscar en todas las bibliotecas instaladas de esta manera.fuente