aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Improve Syb code (#621)Doug Wilson2017-05-273-53/+88
| | | | | | | | | | | | Specialize.hs and Ast.hs are modified to have their Syb code not recurse into Name or Id in HsSyn types. Specialize.hs is refactored to have fewer calls to Syb functions. Syb.hs has some foldl calls replaced with foldl' calls. There is still a lot of performance on the floor of Ast.hs. The RenamedSource is traversed many times, and lookupBySpan is very inefficient. everywhereBut and lookupBySpan dominate the runtime whenever --hyperlinked-source is passed.
* Consequently use inClass and notInClass in haddock-library (#617)Alex Biehl2017-05-132-11/+19
| | | These allow attoparsec to do some clever lookup optimization
* Haddock: Fix broken lazy IO in prologue reading (#615)Alex Biehl2017-05-121-2/+3
| | | | | We previously used withFile in conjunction with hGetContents. The list returned by the latter wasn't completely forced by the time we left the withFile block, meaning that we would try to read from a closed handle.
* Improve documenation of Haddock markup (#614)Nathan Collins2017-05-111-93/+357
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Improve documentation of Haddock markup. - document that Haddock supports inferring types top-level functions with without type signatures, but also explain why using this feature is discouraged. Looks like this feature has been around since version 2.0.0.0 in 2008! - rework the "Module description" section: - move the general discussion of field formatting to the section intro and add examples illustrating the prose for multiline fields. - mention that newlines are preserved in some multiline fields, but not in others (I also noticed that commas in the `Copyright` field are not preserved; I'll look into this bug later). - add a subsection for the module description fields documentation, and put the field keywords in code formatting (double back ticks) instead of double quotes, to be consistent with the typesetting of keywords in other parts of the documentation. - mention that "Named chunks" are not supported in the long-form "Module description" documentation. - fix formatting of keywords in the "Module attributes" section. Perhaps these errors were left over from an automatic translation to ReST from some other format as part of the transition to using Sphinx for Haddock documentation? Also, add a missing reference here; it just said "See ?"! - update footnote about special treatment for re-exporting partially imported modules not being implemented. In my tests it's not implemented at all -- I tried re-exporting both `import B hiding (f)` and `import B (a, b)` style partial imports, and in both cases got the same result as with full imports `import B`: I only get a module reference. * Rework the `Controlling the documentation structure` section. My main goal was to better explain how to use Haddock without an export list, since that's my most common use case, but I hope I improved the section overall: - remove the incomplete `Omitting the export list` section and fold it into the other sections. In particular, summarize the differences between using and not using an export list -- i.e. control over what and in what order is documented -- in the section lead. - add "realistic" examples that use the structure markup, both with and without an export list. I wanted a realistic example here to capture how it can be useful to explain the relationship between a group of functions in a section, in addition to documenting their individual APIs. - make it clear that you can associate documentation chunks with documentation sections when you aren't using an export list, and that doing it in the most obvious way -- i.e. with `-- |`, as you can in the export list -- doesn't work without an export list. It took me a while to figure this out the first time, since the docs didn't explain it at all before. - add a "no export list" example to the section header section. - add more cross references. * Add examples of gotchas for markup in `@...@`. I'm not sure this will help anyone, since I think most people first learn about `@...@` by reading other people's Haddocks, but I've documented the mistakes which I've made and then gotten confused by. * Use consistent Capitalization of Titles. Some titles were in usual title caps, and others only had the first word capitalized. I chose making them all use title caps because that seems to make the cross references look better.
* Fix Binary instance for InstalledInterface (#611)Alex Biehl2017-05-011-2/+0
| | | | (#610) introduced lazy decoding for docs from InstalledInterface but forgot to remove the original calls to get and put_
* Lazily decode docMap and argMap (#610)Alex Biehl2017-05-011-3/+3
| | | | These are only used in case of a doc reexport so most of the time decoding these is wasted work.
* Correctly remember collapsed sections (#608)Alex Biehl2017-04-301-4/+4
| | | Now the "collapsed" cookie stores which sections have changed state instead of which are collapsed.
* Improve error messageSergey Vinokurov2017-04-293-4/+4
|
* Update attoparsec-0.12.1.1 to attoparsec-0.13.1.0alexbiehl2017-04-2914-125/+224
|
* Bump to 2.18.0 (#605)Alex Biehl2017-04-263-5/+5
|
* Markdownify changelogalexbiehl2017-04-262-46/+46
|
* Update changelog to reflect news in HEADalexbiehl2017-04-261-0/+4
|
* Cherry-picked remaining commits from haddock-2.17.4-release (#603)Alex Biehl2017-04-265-29/+48
| | | | | | | | | | | | | | | | | | | | | | | | * Release haddock/haddock-api 2.17.4 and haddock-library 1.4.3 * Set version bounds for haddock-library NB: This allows GHC 8.2.1's base * Set version bounds for haddock & haddock-api The version bounds support GHC 8.2 * Merge (temporary) v2.17.3 branch into v2.17 This allows us to delete the v2.17.3 branch * Fixup changelog * Pin down haddock-api to a single version as otherwise `haddock`'s package version has no proper meaning * fix source-repo spec for haddock-api
* Remove anything related to obsolete frames modealexbiehl2017-04-2686-493/+174
|
* `html-test --accept` deltas to reference samplesHerbert Valerio Riedel2017-04-258-115/+183
|
* Render (signature) only if it actually is a signature!Edward Z. Yang2017-04-251-2/+5
| | | | | | | I forgot a conditional, oops! Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit a0c4790e15a2d3fab8d830eee8fcd639fe6d39c9)
* Hoogle: Correctly print classes with associated data typesAlexander Biehl2017-04-251-1/+4
|
* Expand signatures for class declarationsAlexander Biehl2017-04-251-7/+17
|
* Use new MathJax URL in html-testalexbiehl2017-04-25136-217/+217
| | | | | 18ed871afb82560d5433b2f53e31b4db9353a74e switched to a new MathJax URL but didn't update the tests.
* Use travis_retry for cabal invocationsAlex Biehl2017-04-251-4/+4
|
* Travis: Verbose cabal outputAlex Biehl2017-04-251-4/+4
| | | cf. https://travis-ci.org/haskell/haddock/jobs/225512194#L377
* Travis: Use ghc-8.2.1 on masteralexbiehl2017-04-256-53/+136
|
* Disable doctest with ghc-8.3Alex Biehl2017-04-131-3/+3
| | | Currently doctest doesn't support ghc-head
* Add @alexbiehl as maintanerAlexander Biehl2017-04-123-3/+3
|
* Prevent GHC API from doing optimization passes.Kyrill Briantsev2017-04-111-1/+1
|
* Explicit import list ofr Control.DeepSeq in Haddock.Interface.Createalexbiehl2017-04-111-1/+1
|
* Read files for hyperlinker eagerlyalexbiehl2017-04-112-5/+9
| | | | This also exposes Documentation.Haddock.Utf8
* Add haddock to cabal.projectalexbiehl2017-04-111-2/+3
|
* Move dist scripts to scripts/alexbiehl2017-04-112-0/+0
|
* cabal.project for haddock-api, haddock-library and haddock-testalexbiehl2017-04-112-0/+4
|
* Allow base-4.10 for haddock-testalexbiehl2017-04-111-1/+1
|
* Add highlight for :target to ocean.cssDavid Turner2017-04-031-0/+4
|
* Update MathJax URLPhil Ruffwind2017-04-031-1/+1
| | | | | | | MathJax is shutting down their CDN: https://www.mathjax.org/cdn-shutting-down/ They recommend migrating to cdnjs.
* Render help documentation link next to (signature) in title.Edward Z. Yang2017-03-232-1/+13
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 4eb765ca4205c79539d60b7afa9b7e261a4a49fe)
* Annotate signature docs with (signature)Edward Z. Yang2017-03-231-2/+5
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 07b88c5d4e79b87a319fbb08f8ea01dbb41063c1)
* Fix haddock-test to work with latest version of Cabal.Edward Z. Yang2017-03-231-1/+1
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit bf3c4d72a0fda38561376eac7eda216158783267)
* Better Backpack support with signature merging.Edward Z. Yang2017-03-231-12/+34
| | | | | | | | | | | | | | | | | | | | When we merge signatures, we gain exports that don't necessarily have a source-level declaration corresponding to them. This meant Haddock dropped them. There are two big limitations: * If there's no export list, we won't report inherited signatures. * If the type has a subordinate, the current hiDecl implementation doesn't reconstitute them. These are probably worth fixing eventually, but this gets us to minimum viable functionality. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 6cc832dfb1de6088a4abcaae62b25a7e944d55c3)
* TODO on moduleExports.Edward Z. Yang2017-03-231-1/+5
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 94610e9b446324f4231fa6ad4c6ac51e4eba8c0e)
* More docs.Edward Z. Yang2017-03-231-0/+5
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 3d77b373dd5807d5d956719dd7c849a11534fa6a)
* Documentation.Edward Z. Yang2017-03-231-5/+22
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 0671abfe7e8ceae2269467a30b77ed9d9656e2cc)
* Render signature module tree separately from modules.Edward Z. Yang2017-03-231-1/+14
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 2067a2d0afa9cef381d26fb7140b67c62f433fc0)
* Add a field marking if interface is a signature or not.Edward Z. Yang2017-03-233-2/+12
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 930cfbe58e2e87f5a4d431d89a3c204934e6e858)
* Correctly handle Backpack identity/semantic modules.Edward Z. Yang2017-03-231-21/+54
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 26d6c150b31bc4580ab17cfd07b6e7f9afe10737)
* haddock-api: Bump bound on GHCBen Gamari2017-03-231-1/+1
|
* Include travis build indication badgeAlex Biehl2017-03-231-1/+1
|
* Update test suite to expect kind annotations on type parameters.Brian Huffman2017-03-232-5/+9
|
* Print any user-supplied kind signatures on type parameters.Brian Huffman2017-03-231-23/+14
| | | | | This applies to type parameters on data, newtype, type, and class declarations, and also to forall-bound type vars in type signatures.
* Merge pull request #581 from JustusAdam/masterAlex Biehl2017-03-231-0/+2
|\ | | | | Adding more exports to Documentation.Haddock
| * Also exposing toInstalledIfaceJustus Adam2017-03-091-0/+1
| |
| * Adding MDoc to exports of Documentation.HaddockJustus Adam2017-03-021-0/+1
| |