Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Haskell offline documentation?

What are the possibilities, if any, for getting offline docs for Haskell core libraries (and maybe more)?

Sometimes I take my laptop to the coffee-shop where there is no wifi, and it would be nice having something like Hoogle but for offline use.

like image 855
Andriy Drozdyuk Avatar asked Feb 26 '12 16:02

Andriy Drozdyuk


3 Answers

Hoogle is available offline, installable from Cabal: http://hackage.haskell.org/package/hoogle

Usage instructions are at 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

Create a default database with hoogle data (more info at http://neilmitchell.blogspot.com/2008/08/hoogle-database-generation.html).

EDIT: A session of usage after installing Hoogle locally:

$ hoogle
No query entered
Try --help for command line options
$ hoogle data
(downloads databases...takes a few minutes)

I ran into an error here...apparently it is related to the version of Cabal, so I updated that (http://hackage.haskell.org/trac/hackage/ticket/811). That didn't help, so I ran hoogle data all, which I canceled since it was taking so long (it seems to go through every package on Hackage). It still wouldn't allow a query like hoogle map but did allow hoogle map +base (i.e. restrict the search to the base package) Hopefully it works for you!

EDIT2: This seems to fix the problem (for me):

$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
like image 161
li.davidm Avatar answered Oct 20 '22 02:10

li.davidm


The HTML documentation can be downloaded as .tar.bz2 from the Haskell website:

https://downloads.haskell.org/~ghc/latest/docs/

I just downloaded https://www.haskell.org/ghc/docs/7.6.3/libraries.html.tar.bz2 and it's exactly what I've been hoping for.

There are also other options, such as Dash and Zeal, and see also that reddit thread.

like image 23
Emmanuel Touzery Avatar answered Oct 20 '22 01:10

Emmanuel Touzery


If you install the Haskell Platform it includes the GHC docs and the GHC library docs (which cover the core libraries). On Windows they are on the Start Menu under "All Programs|Haskell Platform".

like image 14
arx Avatar answered Oct 20 '22 02:10

arx