Section: Haddock documentation generator (1)
Updated: July 2010
Index Return to Main Contents



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 documentation.

-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} var).
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 (http://haskell.org/haddock/)



Haddock version 2.6.1

Copyright 2006-2010 Simon Marlow <simonmar@microsoft.com>, Dawid Waern <david.waern@gmail.com>. All rights reserved.



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