Man Linux: Main Page and Category List


       haddock - documentation tool for annotated Haskell source code


       haddock [options] file...


       This  manual  page  documents  briefly  the haddock command.  Extensive
       documentation is available in  various  other  formats  including  DVI,
       PostScript and HTML; see below.

       file is a filename containing a Haskell source module.  All the modules
       specified on the command line will be  processed  together.   When  one
       module  refers  to  an  entity  in  another module being processed, the
       documentation will link directly to that entity.

       Entities that cannot be found, for example because they are in a module
       that  is  not being processed as part of the current batch, simply will
       not be hyperlinked in the generated documentation.  haddock  will  emit
       warnings listing all the identifiers it could not resolve.

       The  modules should not be mutually recursive, as haddock does not like
       swimming in circles.


       The programs follow the  usual  GNU  command  line  syntax,  with  long
       options  starting  with  two  dashes  (`--').   A summary of options is
       included  below.   For  a   complete   description,   see   the   other

       -o DIR, --odir=DIR
              directory in which to put the output files

       -i FILE, --read-interface=FILE
              read an interface from FILE.

       -D FILE, --dump-interface=FILE
              dump an interface for these modules in FILE.

       -l DIR, --lib=DIR
              location of Haddock's auxiliary files

       -h, --html
              Generate  documentation  in  HTML format.  Several files will be
              generated into the current directory (or the specified directory
              if the -o option is given), including the following:

                     The  top  level  page  of  the  documentation:  lists the
                     modules available, using  indentation  to  represent  the
                     hierarchy if the modules are hierarchical.

                     The  stylesheet used by the generated HTML.  Feel free to
                     modify this to change  the  colors  or  layout,  or  even
                     specify your own stylesheet using the --css option.

                     An HTML page for each module.

              doc-index.html, doc-index-XX.html
                     The  index,  split  into  two (functions/constructors and
                     types/classes, as per  Haskell  namespaces)  and  further
                     split alphabetically.

              output for Hoogle

              produce  index  and  table  of  contents  in  mshelp, mshelp2 or
              devhelp format (with -h)

              Include  links  to   the   source   files   in   the   generated
              documentation,  where URL is the base URL where the source files
              can be found.

       -s URL, --source-module=URL
              Include  links  to   the   source   files   in   the   generated
              documentation,  where  URL is a source code link for each module
              (using the %{FILE} or %{MODULE} vars).

              Include  links  to   the   source   files   in   the   generated
              documentation,  where  URL is a source code link for each entity
              (using the %{FILE}, %{MODULE} or %{NAME} vars).

              URL for a comments link on the contents and index pages.

              URL for a comments link for each  module  (using  the  %{MODULE}

              URL  for  a  comments  link  for each entity (using the %{FILE},
              %{MODULE} or %{NAME} vars).

              Use the CSS FILE instead of the default  stylesheet  that  comes
              with haddock for HTML output. It should specify certain classes:
              see the default stylesheet for details.

       -p FILE, --prologue=FILE
              Specify a file containing prologue text.

       -t TITLE, --title=TITLE
              Use  TITLE  as  the  page  heading  for   each   page   in   the
              documentation.   This  will  normally be the name of the library
              being documented.

              The title should be a plain string (no markup please!).

       -k NAME, --package=NAME
              Specify the package name (optional).

       -n, --no-implicit-prelude
              do not assume Prelude is imported

       -d, --debug
              Enable extra debugging output.

       -?, --help
              Display help.

       -V, --version
              Display version.

       -v, --verbose
              Verbose status reporting.

              Use a separately-generated HTML contents page.

              Generate an HTML contents from specified  interfaces.

              Use a separately-generated HTML index.

              Generate an HTML index from specified interfaces.

              Behave as if all modules have the ignore-exports atribute

              Behave as if MODULE has the hide attribute.

              The modules being processed depend on PACKAGE.




       the Haddock homepage (


       Haddock version 2.6.0

       Copyright 2006-2010  Simon Marlow <>, Dawid Waern
       <>.  All rights reserved.


       This manual page was written by Michael Weber <> for
       the Debian GNU/Linux system (but may be used by others).