diff options
author | Alec Theriault <alec.theriault@gmail.com> | 2019-02-03 22:58:58 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-03 22:58:58 -0800 |
commit | aa9644fc4179de044557438f2bd3003642750a97 (patch) | |
tree | d2c0767d85a6be4c71f7c64c232c44ad4db0e15b /html-test/ref/Instances.html | |
parent | a0973d09a5b4f6a08b35c0b3de371c895d7d847a (diff) |
Miscellaneous improvements to `Convert` (#1020)
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
Diffstat (limited to 'html-test/ref/Instances.html')
-rw-r--r-- | html-test/ref/Instances.html | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/html-test/ref/Instances.html b/html-test/ref/Instances.html index 4f51f049..0cf0fc92 100644 --- a/html-test/ref/Instances.html +++ b/html-test/ref/Instances.html @@ -2038,8 +2038,6 @@ >Int</a > c <a href="#" title="Data.Bool" >Bool</a - > :: <a href="#" title="Data.Kind" - >Type</a > <a href="#" class="selflink" >#</a ></p @@ -2050,9 +2048,7 @@ >Thud</a > <a href="#" title="Data.Int" >Int</a - > c :: <a href="#" title="Data.Kind" - >Type</a - > <a href="#" class="selflink" + > c <a href="#" class="selflink" >#</a ></p ></div @@ -2112,9 +2108,7 @@ >type</span > <a href="#" title="Instances" >Plugh</a - > [a] c [b] :: <a href="#" title="Data.Kind" - >Type</a - > <a href="#" class="selflink" + > [a] c [b] <a href="#" class="selflink" >#</a ></p ><p class="src" @@ -2122,9 +2116,7 @@ >data</span > <a href="#" title="Instances" >Thud</a - > [a] c :: <a href="#" title="Data.Kind" - >Type</a - > <a href="#" class="selflink" + > [a] c <a href="#" class="selflink" >#</a ></p ></div |