aboutsummaryrefslogtreecommitdiff
path: root/haddock-api/src/Haddock/Interface
Commit message (Collapse)AuthorAgeFilesLines
* Prepare Haddock for being a GHC PluginAlex Biehl2021-01-091-32/+215
|
* Adapt to changes to GlobalRdrElt and AvailInfoAdam Gundry2020-12-232-12/+4
| | | | Needed for ghc/ghc!4467
* Enable two warnings (#1245) (#1268)tomjaguarpaw2020-12-193-0/+4
| | | | | | because they will be soon be added to -Wall. See https://gitlab.haskell.org/ghc/ghc/-/issues/15656
* Adapt to HsCoreTy (formerly NewHsTypeX) becoming a type synonymRyan Scott2020-12-162-2/+2
| | | | Needed for !4417, the fix for GHC#15706 and GHC#18914.
* Revert "Enable two warnings (#1245) (#1268)"Ben Gamari2020-12-153-4/+0
| | | | | | As this does not build on GHC `master`. This reverts commit 7936692badfe38f23ae95b51fb7bd7c2ff7e9bce.
* Enable two warnings (#1245) (#1268)tomjaguarpaw2020-12-103-0/+4
| | | | | because they will be soon be added to -Wall. See https://gitlab.haskell.org/ghc/ghc/-/issues/15656
* DynFlags's unit fields moved to HscEnvSylvain Henry2020-11-301-4/+5
|
* Add type arguments to PrefixConCale Gibbard2020-11-252-2/+2
|
* Adapt to HsOuterTyVarBndrsRyan Scott2020-10-303-69/+87
| | | | | These changes accompany ghc/ghc!4107, which aims to be a fix for #16762.
* Adapt to HsConDecl{H98,GADT}Details splitRyan Scott2020-10-302-17/+27
| | | | Needed for GHC#18844.
* Adapt to the removal of Hs{Boxed,Constraint}TupleRyan Scott2020-10-291-1/+1
| | | | See ghc/ghc!4097 and GHC#18723.
* GHC.Driver.Types refactoring (#1242)Sylvain Henry2020-10-262-3/+7
|
* Match GHC, adding IsUnicodeSyntax field to HsFunTy and HsScaledAlan Zimmerman2020-10-193-7/+9
|
* Remove Ord FastString instanceSylvain Henry2020-08-171-5/+11
|
* Fix after Outputable refactoringSylvain Henry2020-08-052-4/+6
|
* Update for modular ping pongZubin Duggal2020-07-234-17/+17
|
* Use functions exported from HsToCoreZubin Duggal2020-06-213-183/+3
|
* Adapt Haddock to LinearTypesKrzysztof Gogolewski2020-06-174-20/+39
| | | | See ghc/ghc!852.
* Use HsForAllTelescope (GHC#18235)Ryan Scott2020-06-133-11/+32
|
* Fix after unit refactoringSylvain Henry2020-06-081-12/+11
|
* Explicit Specificity Support for HaddockGert-Jan Bottu2020-05-202-15/+15
|
* Fix for GHC.Unit.* modulesSylvain Henry2020-04-273-4/+4
|
* UnitId has been renamed into UnitSylvain Henry2020-04-271-6/+6
|
* Module structureSylvain Henry2020-04-246-14/+12
|
* Module renamingSylvain Henry2020-04-103-4/+4
|
* Make NoExtCon fields strictRyan Scott2020-04-072-18/+0
| | | | | These changes are a part of a fix for [GHC#17992](https://gitlab.haskell.org/ghc/ghc/issues/17992).
* Module renaming: amend previous patchSylvain Henry2020-04-051-1/+1
|
* Modules: type checkerSylvain Henry2020-03-301-1/+1
|
* Merge commit '3c2944c037263b426c4fe60a3424c27b852ea71c' into HEADBen Gamari2020-03-234-5/+5
|\ | | | | | | More changes from the GHC types module refactoring.
| * Modules: TypesSylvain Henry2020-03-207-25/+25
| |
* | Modules: TypesSylvain Henry2020-03-187-25/+25
|/
* Merge pull request #1130 from hsyl20/wip/hsyl20-modules-core2Ben Gamari2020-03-162-6/+6
|\ | | | | Modules: Core (#13009)
| * Modules: Core (#13009)Sylvain Henry2020-03-022-6/+6
| |
* | Changes in GHC's !1913.Richard Eisenberg2020-03-091-2/+2
|/
* Ignore the BufLoc/BufSpan added in GHC's !2516Vladislav Zavialov2020-02-281-2/+2
|
* Modules: Core (#13009)Sylvain Henry2020-02-251-1/+1
|
* Use RealSrcSpan in InstMapVladislav Zavialov2020-02-221-18/+12
|
* Modules: Driver (#13009)Sylvain Henry2020-02-194-5/+5
|
* Changes for GHC#17608Ryan Scott2020-01-081-3/+4
| | | | See https://gitlab.haskell.org/ghc/ghc/merge_requests/2372
* hsyl20-modules-renamerSylvain Henry2020-01-071-1/+1
|
* Remove HasSrcSpan (#17494)Vladislav Zavialov2019-11-281-7/+7
|
* Changes for #15247Ryan Scott2019-07-033-105/+105
|
* Match changes with #14332Ryan Scott2019-05-221-3/+15
|
* Changes for #16110/#16356Ryan Scott2019-05-141-18/+7
|
* Visible dependent quantification (#16326) changesRyan Scott2019-02-272-5/+6
|
* Match GHC changes for T16185Alec Theriault2019-02-221-3/+3
| | | | | | | `FunTy` now has an `AnonArgFlag` that indicates whether the arrow is a `t1 => t2` or `t1 -> t2`. This commit shouldn't change any functionality in Haddock.
* Fix tests broken by GHCAlec Theriault2019-02-161-3/+3
| | | | | | | | Changes in 19626218566ea709b5f6f287d3c296b0c4021de2 affected some of the hyperlinker output. Accepted the new output (hovering over a `..` now shows you what that wildcard binds). Also fixed some stray deprecation warnings.
* Matching changes in GHC for #16236Alan Zimmerman2019-02-052-5/+5
|
* Miscellaneous improvements to `Convert` (#1020)Alec Theriault2019-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that Haddock is moving towards working entirely over `.hi` and `.hie` files, all declarations and types are going to be synthesized via the `Convert` module. In preparation for this change, here are a bunch of fixes to this module: * Add kind annotations to type variables in `forall`'s whose kind is not `Type`, unless the kind can be inferred from some later use of the variable. See `implicitForAll` and `noKindTyVars` in particular if you wish to dive into this. * Properly detect `HsQualTy` in `synifyType`. This is done by following suit with what GHC's `toIfaceTypeX` does and checking the first argument of `FunTy{} :: Type` to see if it classified as a given/wanted in the typechecker (see `isPredTy`). * Beef up the logic around figuring out when an explicit `forall` is needed. This includes: observing if any of the type variables will need kind signatures, if the inferred type variable order _without_ a forall will still match the one GHC claims, and some other small things. * Add some (not yet used) functionality for default levity polymorphic type signatures. This functionality similar to `fprint-explicit-runtime-reps`. Couple other smaller fixes only worth mentioning: * Show the family result signature only when it isn't `Type` * Fix rendering of implicit parameters in the LaTeX and Hoogle backends * Better handling of the return kind of polykinded H98 data declarations * Class decls produced by `tyThingToLHsDecl` now contain associated type defaults and default method signatures when appropriate * Filter out more `forall`'s in pattern synonyms
* Use `.hie` files for the Hyperlinker backend (#977)Alec Theriault2019-01-311-37/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Summary This is a large architectural change to the Hyperlinker. * extract link (and now also type) information from `.hie` instead of doing ad-hoc SYB traversals of the `RenamedSource`. Also adds a superb type-on-hover feature (#715). * re-engineer the lexer to avoid needless string conversions. By going directly through GHC's `P` monad and taking bytestring slices, we avoid a ton of allocation and have better handling of position pragmas and CPP. In terms of performance, the Haddock side of things has gotten _much_ more efficient. Unfortunately, much of this is cancelled out by the increased GHC workload for generating `.hie` files. For the full set of boot libs (including `ghc`-the-library) * the sum of total time went down by 9-10% overall * the sum of total allocations went down by 6-7% # Motivation Haddock is moving towards working entirely over `.hi` and `.hie` files. This change means we no longer need the `RenamedSource` from `TypecheckedModule` (something which is _not_ in `.hi` files). # Details Along the way a bunch of things were fixed: * Cross package (and other) links are now more reliable (#496) * The lexer tries to recover from errors on every line (instead of at CPP boundaries) * `LINE`/`COLUMN` pragmas are taken into account * filter out zero length tokens before rendering * avoid recomputing the `ModuleName`-based `SrcMap` * remove the last use of `Documentation.Haddock.Utf8` (see #998) * restructure temporary folder logic for `.hi`/`.hie` model