Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
H
haddock
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Apoorv Ingle
haddock
Commits
cc1577ae
Commit
cc1577ae
authored
7 years ago
by
Herbert Valerio Riedel
Browse files
Options
Downloads
Patches
Plain Diff
Update README
Also improves markup and removes/fixes redundant/obsolete parts [skip ci]
parent
53598f89
Branches
ghc-8.2
v2.18
Branches containing commit
Tags
haddock-2.18.1-release
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
README.md
+16
-42
16 additions, 42 deletions
README.md
with
16 additions
and
42 deletions
README.md
+
16
−
42
View file @
cc1577ae
# Haddock, a Haskell Documentation Tool [](https://travis-ci.org/haskell/haddock)
##
## About haddock
## About haddock
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.
See
[
Description on Hackage
](
https://hackage.haskell.org/package/haddock
)
.
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). The documentation generated by Haddock is fully hyperlinked
-
click on a type name in a type signature to go straight to the
definition, and documentation, for that type.
## Source code documentation
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 formats
Haddock can generate documentation in multiple formats; currently HTML
is implemented, and there is partial support for generating LaTeX and
Hoogle.
#### Source code documentation
Full documentation can be found in the doc/ subdirectory, in DocBook
Full documentation can be found in the
`doc/`
subdirectory, in
[
reStructedText format
](
http://www.sphinx-doc.org/en/stable/rest.html
)
format.
#### Contributing
## Contributing
Please create issues when you have any problems and pull requests if you have some code.
###
## Hacking
## Hacking
To get started you'll need a latest GHC release installed.
...
...
@@ -59,7 +28,7 @@ Clone the repository:
and then proceed using your favourite build tool.
####
##
Using [`cabal new-build`](http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html)
#### Using [`cabal new-build`](http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html)
```
bash
cabal new-build
-w
ghc-8.2.1
...
...
@@ -67,7 +36,7 @@ cabal new-build -w ghc-8.2.1
cabal new-test
-w
ghc-8.2.1
```
####
##
Using Cabal sandboxes
#### Using Cabal sandboxes
```
bash
cabal sandbox init
...
...
@@ -83,7 +52,7 @@ export HADDOCK_PATH="dist/build/haddock/haddock"
cabal
test
```
####
##
Using Stack
#### Using Stack
```
bash
stack init
...
...
@@ -93,9 +62,14 @@ export HADDOCK_PATH="$HOME/.local/bin/haddock"
stack
test
```
### Git Branches
If you're a GHC developer and want to update Haddock to work with your
changes, you should be working on
`ghc-head`
branch instead of master.
changes, you should be working on
`ghc-head`
branch instead of
`
master
`
.
See instructions at
https://ghc.haskell.org/trac/ghc/wiki/WorkingConventions/Git/Submodules
for an example workflow.
The
`master`
branch usually requires a GHC from the latest GHC stable
branch. The required GHC version can be inferred from the version
bounds on
`ghc`
in the respective
`.cabal`
files.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment