haddock: A documentation-generation tool for Haskell libraries

[ bsd3, documentation, program ] [ Propose Tags ] [ Report a vulnerability ]

This is Haddock, a tool for automatically generating documentation from annotated Haskell source code. It is primary intended for documenting library interfaces, but it should be useful for any kind of Haskell code. . Haddock lets you write documentation annotations next to the definitions of functions and types in the source code, in a syntax that is easy on the eye when writing the source code (no heavyweight mark-up). . Haddock understands Haskell's module system, so you can structure your code however you like without worrying that internal structure will be exposed in the generated documentation. For example, it is common to implement a library in several modules, but define the external API by having a single module which re-exports parts of these implementation modules. Using Haddock, you can still write documentation annotations next to the actual definitions of the functions and types in the library, but the documentation annotations from the implementation will be propagated to the external API when the documentation is generated. Abstract types and classes are handled correctly. In fact, even without any documentation annotations, Haddock can generate useful documentation from your source code. . Documentation for the haddock binary is available at readthedocs. .


[Skip to Readme]

Flags

Manual Flags

NameDescriptionDefault
in-ghc-tree

Are we in a GHC tree?

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Versions [RSS] 0.8, 0.9, 2.0.0.0, 2.1.0, 2.2.0, 2.2.1, 2.2.2, 2.4.0, 2.4.1, 2.4.2, 2.5.0, 2.6.0, 2.6.1, 2.7.0, 2.7.1, 2.7.2, 2.8.0, 2.8.1, 2.9.0, 2.9.1, 2.9.2, 2.9.3, 2.9.4, 2.10.0, 2.11.0, 2.11.1, 2.12.0, 2.13.0, 2.13.1, 2.13.2, 2.13.2.1, 2.14.1, 2.14.2, 2.14.3, 2.15.0, 2.15.0.1, 2.15.0.2, 2.16.0, 2.16.1, 2.17.2, 2.17.4, 2.17.5, 2.18.1, 2.19.0.1, 2.20.0, 2.21.0, 2.22.0, 2.23.0, 2.23.1, 2.24.0, 2.24.1, 2.24.2, 2.25.0, 2.25.1, 2.26.0, 2.27.0, 2.28.0, 2.29.0, 2.29.1
Change log CHANGES.md
Dependencies base (>=4.13.0.0 && <4.14 || >=4.14.0.0 && <4.15 || >=4.15.0.0 && <4.16 || >=4.16.0.0 && <4.17 || >=4.17.0.0 && <4.18), haddock-api (==2.27.0) [details]
Tested with ghc >=9.4 && <9.5
License BSD-3-Clause
Copyright (c) Simon Marlow, David Waern
Author Simon Marlow, David Waern
Maintainer Alec Theriault <alec.theriault@gmail.com>, Alex Biehl <alexbiehl@gmail.com>, Simon Hengel <sol@typeful.net>, Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>
Category Documentation
Home page http://www.haskell.org/haddock/
Bug tracker https://github.com/haskell/haddock/issues
Source repo head: git clone https://github.com/haskell/haddock.git
Uploaded by BenGamari at 2022-08-18T15:45:04Z
Distributions Arch:2.26.0, FreeBSD:2.16.1
Reverse Dependencies 10 direct, 17 indirect [details]
Executables haddock
Downloads 91797 total (113 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2022-08-18 [all 2 reports]

Readme for haddock-2.27.0

[back to package description]

Haddock CI Hackage

Haddock is the standard tool for generating documentation from Haskell code. Full documentation about Haddock itself can be found in the doc/ subdirectory, in reStructuredText format.

Project overview

This project consists of three packages:

  • haddock: provides the haddock executable. It is implemented as a tiny wrapper around haddock-api's Documentation.Haddock.haddock function.

  • haddock-api: contains the program logic of the haddock tool. The haddocks for the Documentation.Haddock module offer a good overview of the functionality.

  • haddock-library: is concerned with the parsing and processing of the Haddock markup language. Unlike the other packages, it is expected to build on a fairly wide range of GHC versions.

Contributing

See CONTRIBUTING.md to see how to make contributions to the project.