Haskell documentación fuera de línea?
offline-mode (9)
Edite su archivo ~ / .cabal / config. Busque la línea (probablemente comentada) que dice documentation: False
. Cambie esa línea a la documentation: True
y descomente. Ahora cuando construyas proyectos con cabal install
documentación de cabal install
también se compilará y guardará localmente.
Mire un poco más en el mismo archivo de configuración y encontrará opciones de cosas como doc-index-file, docdir, datadir, prefix, etc. que le permiten configurar dónde se almacena la documentación.
¿Cuáles son las posibilidades, si las hay, de obtener documentos fuera de línea para las bibliotecas centrales de Haskell (y tal vez más)?
A veces llevo mi computadora portátil a la cafetería donde no hay wifi, y sería bueno tener algo así como Hoogle pero para uso fuera de línea.
Hoogle está disponible sin conexión, se puede instalar desde Cabal: http://hackage.haskell.org/package/hoogle
Las instrucciones de uso están 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 actualicé eso (http://hackage.haskell.org/trac/hackage/ticket/811). Eso no ayudó, así que hoogle data all
, que cancelé porque hoogle data all
tanto (parece que se revisan todos los paquetes de Hackage). Todavía no permitía una consulta como el hoogle map
pero permitía hoogle map +base
(es decir, restringir la búsqueda al paquete base
) ¡Espero que 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
La documentación HTML se puede descargar como .tar.bz2 desde el sitio web de haskell:
https://www.haskell.org/ghc/docs/latest/html
Acabo de descargar http://www.haskell.org/ghc/docs/7.6.3/libraries.html.tar.bz2 y es exactamente lo que estaba esperando.
Para ver los últimos documentos, consulte: https://downloads.haskell.org/~ghc/latest/docs/
ACTUALIZACIÓN: También hay otras opciones, como Dash y Zeal , y vea también ese hilo reddit .
Para Windows, instale los paquetes wget y curl de cygwin. Eso habilitará los hoogle data
.
Puede que no sea "canónico" per se, pero creo que la opción más útil es un software de docset como dash (OS X) / zeal + docsets generados. De esta manera obtendrá la búsqueda de forma gratuita y también tendrá una opción para crear sus conjuntos de documentos personalizados. No hay problema en obtener la documentación del paquete base ''eglefino'' 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 docsets basados en proyectos (¡tendrá las versiones relevantes por proyecto de esta manera, olvidará todas estas molestias con el hoogle local!) Y no restringirlo a cualquier flujo de compilación que pueda tener.
Si construyes tu proyecto con cabal-install
, puedes establecer la documentation: True
en tu ~/.cabal/config
, luego reinstala las dependencias para obtener los eglefinos generados localmente.
Si está utilizando la stack , puede utilizar el comando stack haddock
para construir sus dependencias y proyectar con eglefinas generadas.
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
) en
file:///usr/share/doc/ghc-doc/html/libraries/index.html
Además, los libghc-foo-doc
contienen los archivos necesarios para hoogle, por lo que si puedes apt-get install hoogle
, inmediatamente deberías poder usar hoogle
para buscar en todas las bibliotecas instaladas de esta manera.
Si instala la plataforma Haskell, incluye los documentos de GHC y los documentos de la biblioteca de GHC (que cubren las bibliotecas centrales). En Windows están en el menú Inicio en "Todos los programas | Plataforma Haskell".
Utilizo devdocs.io , tiene documentos para muchos idiomas y bibliotecas (incluyendo Haskell) y tiene un modo fuera de línea.
Velocity es una herramienta universal gratuita y hermosa para hacer precisamente eso. Es compatible con una amplia gama de idiomas, tecnologías y bibliotecas, y con un clic de actualización.
Probablemente podrá encontrar más de lo que ya está utilizando en su lista de documentación.