Skip to content
This repository was archived by the owner on Aug 3, 2024. It is now read-only.

Commit 99f6153

Browse files
committed
Merge commit '1e56f63c3197e7ca1c1e506e083c2bad25d08793' into ghc-9.0
2 parents 3e29ec5 + 1e56f63 commit 99f6153

File tree

260 files changed

+9792
-2350
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

260 files changed

+9792
-2350
lines changed

.arcconfig

Lines changed: 0 additions & 5 deletions
This file was deleted.

.arclint

Lines changed: 0 additions & 24 deletions
This file was deleted.

.ghci

Lines changed: 0 additions & 1 deletion
This file was deleted.

.github/workflows/ci.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: CI
2+
3+
# Trigger the workflow on push or pull request, but only for the master branch
4+
on:
5+
pull_request:
6+
push:
7+
branches: ["ghc-8.10"]
8+
9+
jobs:
10+
cabal:
11+
name: ${{ matrix.os }} / ghc ${{ matrix.ghc }}
12+
runs-on: ${{ matrix.os }}
13+
strategy:
14+
matrix:
15+
os: [ubuntu-latest]
16+
cabal: ["3.2"]
17+
ghc:
18+
- "8.10.1"
19+
- "8.10.2"
20+
21+
steps:
22+
- uses: actions/checkout@v2
23+
if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/ghc-8.10'
24+
25+
- uses: actions/setup-haskell@v1.1.4
26+
id: setup-haskell-cabal
27+
name: Setup Haskell
28+
with:
29+
ghc-version: ${{ matrix.ghc }}
30+
cabal-version: ${{ matrix.cabal }}
31+
32+
- name: Freeze
33+
run: |
34+
cabal freeze
35+
36+
- uses: actions/cache@v1
37+
name: Cache ~/.cabal/store
38+
with:
39+
path: ${{ steps.setup-haskell-cabal.outputs.cabal-store }}
40+
key: ${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze') }}
41+
42+
- name: Build
43+
run: |
44+
cabal configure --enable-tests --enable-benchmarks --test-show-details=direct
45+
cabal build all
46+
47+
- name: Test
48+
run: |
49+
cabal test all

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@
88
/latex-test/out/
99
/hoogle-test/out/
1010

11+
*.o
12+
*.hi
13+
*.dyn_o
14+
*.dyn_hi
15+
*.hp
16+
1117
/doc/haddock
1218
/doc/haddock.ps
1319
/doc/haddock.pdf

.travis.yml

Lines changed: 0 additions & 104 deletions
This file was deleted.

CHANGES.md

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
1-
## Changes in TBA
1+
## Changes in 2.24.0
22

3-
* NewOcean is the new default theme (#721, #782, #949)
3+
* Reify oversaturated data family instances correctly (#1103)
4+
5+
* Removed the majority of Haddock's possible `panic` routes through
6+
the TTG refactor to make extension variants empty
7+
8+
## Changes in 2.23.0
9+
10+
* "Linuwial" is the new default theme (#721, #782, #949)
411

512
* Fix style switcher (enabled by `--built-in-themes`) (#949)
613

@@ -12,6 +19,25 @@
1219
* The hyperlinker backend lexer is now more incremental, faster, and
1320
more memory efficient (#977)
1421

22+
* Add an "Instances" menu item to the HTML backend for controlling
23+
settings related to expanding/collapsing instances (#1007)
24+
25+
* Improved identifier links including value/type namespaces, and
26+
hyperlinking of parenthesized/backticked identifiers
27+
28+
* Substantial bugfixes for converting `TyThing` back into source
29+
declarations (#1003, #1005, #1022, #1020)
30+
31+
* `--show-interface` now outputs to stdout (instead of stderr)
32+
33+
* Render associated type defaults and also improve rendering of
34+
default method signatures
35+
36+
* Many fixes to the LaTeX backend, mostly focused on not crashing
37+
as well as generating LaTeX source that compiles
38+
39+
* More flexible parsing of the module header
40+
1541
## Changes in version 2.22.0
1642

1743
* Make `--package-version` optional for `--hoogle` (#899)

README.md

Lines changed: 52 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,63 @@
1-
# Haddock, a Haskell Documentation Tool [![Build Status](https://travis-ci.org/haskell/haddock.svg?branch=ghc-head)](https://travis-ci.org/haskell/haddock)
2-
3-
4-
## About haddock
5-
6-
See [Description on Hackage](https://hackage.haskell.org/package/haddock).
7-
8-
## Source code documentation
9-
10-
Full documentation can be found in the `doc/` subdirectory, in
11-
[reStructedText format](http://www.sphinx-doc.org/en/stable/rest.html)
12-
format.
1+
# Haddock [![CI][CI badge]][CI page] [![Hackage][Hackage badge]][Hackage page]
132

3+
Haddock is the standard tool for generating documentation from Haskell code.
4+
Full documentation about Haddock itself can be found in the `doc/` subdirectory,
5+
in [reStructedText format][ReST] format.
146

157
## Project overview
168

179
This project consists of three packages:
1810

19-
* haddock
20-
* haddock-api
21-
* haddock-library
22-
23-
### haddock
24-
25-
The haddock package provides the `haddock` executable. It is implemented as a
26-
tiny wrapper around haddock-api's `Documentation.Haddock.haddock` function.
11+
* `haddock`: provides the `haddock` executable. It is implemented as a tiny
12+
wrapper around `haddock-api`'s `Documentation.Haddock.haddock` function.
2713

28-
### haddock-api
29-
30-
haddock-api contains the program logic of the `haddock` tool. [The haddocks for
31-
the `Documentation.Haddock` module](http://hackage.haskell.org/package/haddock-api-2.19.0.1/docs/Documentation-Haddock.html)
32-
offer a good overview of haddock-api's functionality.
33-
34-
### haddock-library
35-
36-
haddock-library is concerned with the parsing and processing of the Haddock
37-
markup language.
14+
* `haddock-api`: contains the program logic of the `haddock` tool.
15+
[The haddocks for the `Documentation.Haddock` module][Documentation.Haddock]
16+
offer a good overview of the functionality.
3817

18+
* `haddock-library`: is concerned with the parsing and processing of the
19+
Haddock markup language. Unlike the other packages, it is expected to build
20+
on a fairly wide range of GHC versions.
3921

4022
## Contributing
4123

42-
Please create issues when you have any problems and pull requests if you have some code.
24+
Please create issues when you have any problems and pull requests if you have
25+
some code.
4326

4427
## Hacking
4528

46-
To get started you'll need a latest GHC release installed.
29+
To get started you'll need the latest GHC release installed.
4730

4831
Clone the repository:
4932

5033
```bash
51-
git clone https://github.com/haskell/haddock.git
52-
cd haddock
34+
git clone https://github.com/haskell/haddock.git
35+
cd haddock
5336
```
5437

5538
and then proceed using your favourite build tool.
5639

57-
#### Using [`cabal new-build`](http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html)
40+
Note: before building `haddock`, you need to build the subprojects
41+
`haddock-library` and `haddock-api`, in this order!
42+
The `cabal v2-build` takes care of this automatically.
43+
44+
#### Using [`cabal v2-build`][cabal v2]
5845

5946
```bash
60-
cabal new-build -w ghc-head
61-
# build & run the test suite
62-
cabal new-test -w ghc-head all
47+
cabal v2-build -w ghc-8.10.1
48+
cabal v2-test -w ghc-8.10.1 all
6349
```
6450

65-
#### Using Cabal sandboxes
51+
#### Using `stack`
52+
53+
```bash
54+
stack init
55+
stack build
56+
export HADDOCK_PATH="$(stack exec which haddock)"
57+
stack test
58+
```
59+
60+
#### Using Cabal sandboxes (deprecated)
6661

6762
```bash
6863
cabal sandbox init
@@ -78,29 +73,29 @@ export HADDOCK_PATH="dist/build/haddock/haddock"
7873
cabal test
7974
```
8075

81-
#### Using Stack
82-
83-
```bash
84-
stack init
85-
stack install
86-
# run the test suite
87-
export HADDOCK_PATH="$HOME/.local/bin/haddock"
88-
stack test
89-
```
90-
9176
### Git Branches
9277

93-
If you're a GHC developer and want to update Haddock to work with your
94-
changes, you should be working on `ghc-head` branch.
95-
See instructions at
96-
https://ghc.haskell.org/trac/ghc/wiki/WorkingConventions/Git/Submodules
78+
If you're a GHC developer and want to update Haddock to work with your changes,
79+
you should be working on the `ghc-head` branch. See instructions at
80+
<https://gitlab.haskell.org/ghc/ghc/-/wikis/working-conventions/git/submodules>
9781
for an example workflow.
9882

99-
### Updating `html-test`
83+
### Updating golden testsuite outputs
10084

101-
When accepting any changes in the output of `html-test`, it is important
102-
to use the `--haddock-path` option. For example:
85+
If you've changed Haddock's output, you will probably need to accept the new
86+
output of Haddock's golden test suites (`html-test`, `latex-test`,
87+
`hoogle-test`, and `hypsrc-test`). This can be done by passing the `--accept`
88+
argument to these test suites. With a new enough version of `cabal-install`:
10389

10490
```
105-
cabal new-run -- html-test --haddock-path $(find dist-newstyle/ -executable -type f -name haddock) --accept
91+
cabal v2-test html-test latex-test hoogle-test hypsrc-test \
92+
--test-option='--accept'
10693
```
94+
95+
[CI page]: https://travis-ci.org/haskell/haddock
96+
[CI badge]: https://travis-ci.org/haskell/haddock.svg?branch=ghc-8.10
97+
[Hackage page]: https://hackage.haskell.org/package/haddock
98+
[Hackage badge]: https://img.shields.io/hackage/v/haddock.svg
99+
[ReST]: http://www.sphinx-doc.org/en/stable/rest.html
100+
[Documentation.Haddock]: http://hackage.haskell.org/package/haddock-api/docs/Documentation-Haddock.html
101+
[cabal v2]: http://cabal.readthedocs.io/en/latest/nix-local-build-overview.html

STYLE

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)