haskell offline-mode

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



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.