aboutsummaryrefslogtreecommitdiff
path: root/haddock-api/src/Haddock/Convert.hs
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/ghc-8.10' into ghc-9.0Ben Gamari2021-01-051-23/+31
|\
| * Fix #1050 by filtering out invisible AppTy argumentsRyan Scott2020-04-051-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | This makes the `synifyType` case for `AppTy` more intelligent by taking into consideration the visibilities of each `AppTy` argument and filtering out any invisible arguments, as they aren't intended to be displayed in the source code. (See #1050 for an example of what can happen if you fail to filter these out.) Along the way, I noticed that a special `synifyType` case for `AppTy t1 (CoercionTy {})` could be consolidated with the case below it, so I took the opportunity to tidy this up.
| * Merge branch 'ghc-8.8' into ghc-8.10Alec Theriault2020-03-201-16/+24
| |\
| | * Changes from #14579Ryan Scott2019-11-031-22/+5
| | | | | | | | | | | | | | | | | | | | | We now have a top-level `tyConAppNeedsKindSig` function, which means that we can delete lots of code in `Convert`. (cherry picked from commit cfd682c5fd03b099a3d78c44f9279faf56a0ac70)
| | * Reify oversaturated data family instances correctly (#1103)Ryan Scott2019-10-231-15/+23
| | | | | | | | | | | | | | | | | | This fixes #1103 by adapting the corresponding patch for GHC (see https://gitlab.haskell.org/ghc/ghc/issues/17296 and https://gitlab.haskell.org/ghc/ghc/merge_requests/1877).
* | | Match GHC, adding IsUnicodeSyntax field to HsFunTy and HsScaledAlan Zimmerman2020-10-211-3/+4
| | | | | | | | | | | | (cherry picked from commit a7d1d8e034d25612d5d08ed8fdbf6f472aded4a1)
* | | Adapt Haddock to LinearTypesKrzysztof Gogolewski2020-06-171-11/+24
| | | | | | | | | | | | See ghc/ghc!852.
* | | Use HsForAllTelescope (GHC#18235)Ryan Scott2020-06-131-47/+92
| | |
* | | Explicit Specificity Support for HaddockGert-Jan Bottu2020-05-201-22/+44
| | |
* | | Module structureSylvain Henry2020-04-241-2/+2
| | |
* | | Module renamingSylvain Henry2020-04-101-3/+3
| | |
* | | Module renaming: amend previous patchSylvain Henry2020-04-051-1/+1
| | |
* | | Modules: type checkerSylvain Henry2020-03-301-2/+2
| | |
* | | Modules: TypesSylvain Henry2020-03-201-8/+8
| | |
* | | Modules: Core (#13009)Sylvain Henry2020-03-021-9/+9
| | |
* | | Echo GHC's removal of PlaceHolder moduleRichard Eisenberg2020-02-041-3/+3
| | | | | | | | | | | | This goes with GHC's !2083.
* | | Fix after Iface modules renamingSylvain Henry2020-01-021-1/+1
|/ /
* | Fix for GHC module renamingSylvain Henry2019-09-121-1/+1
| |
* | Changes for #15247Ryan Scott2019-07-031-52/+52
| |
* | Changes for #16110/#16356Ryan Scott2019-05-141-7/+9
| |
* | Match changes for "Stop inferring over-polymorphic kinds"Alec Theriault2019-03-091-5/+2
| | | | | | | | | | | | | | | | The `hsq_ext` field of `HsQTvs` is now just the implicit variables (instead of also including information about which of these variables are dependent). This commit shouldn't change any functionality in Haddock.
* | Visible dependent quantification (#16326) changesRyan Scott2019-02-271-14/+19
| |
* | Match GHC changes for T16185Alec Theriault2019-02-221-11/+9
| | | | | | | | | | | | | | `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-1/+1
| | | | | | | | | | | | | | | | 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.
* | Changes from #14579Ryan Scott2019-02-041-22/+5
|/ | | | | We now have a top-level `tyConAppNeedsKindSig` function, which means that we can delete lots of code in `Convert`.
* Fix #1015 with dataConUserTyVars (#1022)Ryan Scott2019-02-041-3/+4
| | | | | | | The central trick in this patch is to use `dataConUserTyVars` instead of `univ_tvs ++ ex_tvs`, which displays the foralls in a GADT constructor in a way that's more faithful to how the user originally wrote it. Fixes #1015.
* Miscellaneous improvements to `Convert` (#1020)Alec Theriault2019-02-031-143/+322
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Visible kind application haddock updatemynguyen2018-12-301-1/+1
|
* Properly synify and render promoted type variables (#985)Alec Theriault2018-12-231-1/+2
| | | | | | | | * Synify and render properly promoted type variables Fixes #923. * Accept output
* Follow GHC HEAD's HsTypes.Promoted -> BasicTypes.PromotionFlag changeAlp Mestanogullari2018-11-151-4/+5
| | | | It got introduced in ghc/ghc@ae2c9b40f5b6bf272251d1f4107c60003f541b62.
* More explicit foralls (GHC Proposal 0007)Matthew Yacavone2018-10-271-0/+2
|
* update dataFullSig to work with Co Quantificationningning2018-09-151-1/+1
| | | | This should have been in the previous patch, but wasn't.
* Update according to GHC Core changesningning2018-09-151-3/+3
|
* Only look at visible types when synifying a 'HsListTy'Alec Theriault2018-09-031-1/+1
| | | | | The other types are still looked at when considering whether to make a kind signature or not.
* Properly synify promoted list typesAlec Theriault2018-08-271-1/+15
| | | | | | | | | | | We reconstruct promoted list literals whenever possible. That means that 'synifyType' produces '[Int, Bool, ()] instead of (Int ': (() ': (Bool ': ([] :: [Type]))))
* Handle promoted tuples in 'synifyType'Alec Theriault2018-08-211-0/+4
| | | | When we have a fully applied promoted tuple, we can expand it out properly.
* Better rendering of unboxed sums/tuplesAlec Theriault2018-08-211-0/+1
| | | | | * adds space after/before the '#' marks * properly reify 'HsSumTy' in 'synifyType'
* Update against new HsImplicitBndrsRichard Eisenberg2018-08-021-2/+1
|
* eqTyCon_RDR now lives in TysWiredInRyan Scott2018-07-271-3/+4
| | | | | After GHC commit http://git.haskell.org/ghc.git/commit/f265008fb6f70830e7e92ce563f6d83833cef071
* tyThingToLHsDecl: Preserve type synonyms that contain a forall (#880)Simon Jakobi2018-07-201-2/+46
| | | | | | | | | | | | * tyThingToLHsDecls: Preserve type synonyms that contain a forall Fixes #879. * Add Note [Invariant: Never expand type synonyms] * Clarify Note [Invariant: Never expand type synonyms] (cherry picked from commit c3eb3f0581f69e816f9453b1747a9f2a3ba02bb9)
* Remove HsEqTy and XEqTyRyan Scott2018-06-191-2/+5
|
* Match changes in GHC for #14259Alan Zimmerman2018-06-191-2/+2
|
* Revert unintentional reversion of fix of #548Ben Gamari2018-06-141-2/+23
|
* Handle -XStarIsTypeVladislav Zavialov2018-06-141-26/+5
|
* Merge branch 'ghc-head' with 'ghc-8.4'Herbert Valerio Riedel2018-05-011-71/+84
|\
| * Match changes in GHC for TTGAlan Zimmerman2018-04-271-35/+42
| |
| * Match GHC for TTG implemented on HsBinds, D4581Alan Zimmerman2018-04-131-5/+5
| |
| * Match GHC changes for TTGAlan Zimmerman2018-04-091-24/+30
| |
| * Track changes to follow Trac #14529Simon Peyton Jones2017-12-071-13/+13
| | | | | | | | This tracks the refactoring of HsDecl.ConDecl.
* | Warning free compilationAlexander Biehl2018-02-011-1/+1
| |