Haddock (software)

Haddock is a free, portable command-line program documentation generator for Haskell. It is influenced by IDoc, HDoc, and Doxygen. It produces hyperlinked HTML files from annotated Haskell (the documentation is embedded in comments) source files, with additional information extracted from type annotations; it supports only partially generating documentation in SGML. It is often used in conjunction with darcs and Cabal. It is dependent on GHC, using a modified form of the HsParser (written in Happy) parser for Haskell included in GHC. Its lightweight markup is based on IDoc's. The entire implementation is approximately 2200 lines of code. Haddock is contained in the Haskell Platform.

It is used by the GHC, Gtk2Hs and HTk projects, as well as XMonad and Yi.

Here is an example of Haddock markup:

-- | This is the documentation for 'square', which -- uses the (*) operator from "Prelude". -- It multiplies the @x@ argument against itself. square :: Integer -> Integer square x = x*x