aboutsummaryrefslogtreecommitdiff
path: root/html-test/ref/TypeFamilies.html
diff options
context:
space:
mode:
authorAlec Theriault <alec.theriault@gmail.com>2019-02-03 22:58:58 -0800
committerGitHub <noreply@github.com>2019-02-03 22:58:58 -0800
commitaa9644fc4179de044557438f2bd3003642750a97 (patch)
treed2c0767d85a6be4c71f7c64c232c44ad4db0e15b /html-test/ref/TypeFamilies.html
parenta0973d09a5b4f6a08b35c0b3de371c895d7d847a (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/TypeFamilies.html')
-rw-r--r--html-test/ref/TypeFamilies.html40
1 files changed, 4 insertions, 36 deletions
diff --git a/html-test/ref/TypeFamilies.html b/html-test/ref/TypeFamilies.html
index 492b7ec1..8e1e7364 100644
--- a/html-test/ref/TypeFamilies.html
+++ b/html-test/ref/TypeFamilies.html
@@ -286,8 +286,6 @@
>AssocD</a
> <a href="#" title="TypeFamilies"
>X</a
- > :: <a href="#" title="Data.Kind"
- >Type</a
> <a href="#" class="selflink"
>#</a
></p
@@ -298,8 +296,6 @@
>AssocT</a
> <a href="#" title="TypeFamilies"
>X</a
- > :: <a href="#" title="Data.Kind"
- >Type</a
> <a href="#" class="selflink"
>#</a
></p
@@ -720,8 +716,6 @@
>AssocD</a
> <a href="#" title="TypeFamilies"
>Y</a
- > :: <a href="#" title="Data.Kind"
- >Type</a
> <a href="#" class="selflink"
>#</a
></p
@@ -732,8 +726,6 @@
>AssocT</a
> <a href="#" title="TypeFamilies"
>Y</a
- > :: <a href="#" title="Data.Kind"
- >Type</a
> <a href="#" class="selflink"
>#</a
></p
@@ -1107,11 +1099,7 @@
><li class="inst"
><a id="v:BatZ1" class="def"
>BatZ1</a
- > :: <span class="keyword"
- >forall</span
- > (z :: <a href="#" title="TypeFamilies"
- >Z</a
- >). <a href="#" title="TypeFamilies"
+ > :: <a href="#" title="TypeFamilies"
>Z</a
> -&gt; <a href="#" title="TypeFamilies"
>Bat</a
@@ -1121,11 +1109,7 @@
><li class="inst"
><a id="v:BatZ2" class="def"
>BatZ2</a
- > :: <span class="keyword"
- >forall</span
- > (z :: <a href="#" title="TypeFamilies"
- >Z</a
- >). {..} -&gt; <a href="#" title="TypeFamilies"
+ > :: {..} -&gt; <a href="#" title="TypeFamilies"
>Bat</a
> '<a href="#" title="TypeFamilies"
>ZB</a
@@ -1393,11 +1377,7 @@
><li class="inst"
><a id="v:BatZ1" class="def"
>BatZ1</a
- > :: <span class="keyword"
- >forall</span
- > (z :: <a href="#" title="TypeFamilies"
- >Z</a
- >). <a href="#" title="TypeFamilies"
+ > :: <a href="#" title="TypeFamilies"
>Z</a
> -&gt; <a href="#" title="TypeFamilies"
>Bat</a
@@ -1407,11 +1387,7 @@
><li class="inst"
><a id="v:BatZ2" class="def"
>BatZ2</a
- > :: <span class="keyword"
- >forall</span
- > (z :: <a href="#" title="TypeFamilies"
- >Z</a
- >). {..} -&gt; <a href="#" title="TypeFamilies"
+ > :: {..} -&gt; <a href="#" title="TypeFamilies"
>Bat</a
> '<a href="#" title="TypeFamilies"
>ZB</a
@@ -1620,8 +1596,6 @@
>AssocD</a
> <a href="#" title="TypeFamilies"
>Y</a
- > :: <a href="#" title="Data.Kind"
- >Type</a
> <a href="#" class="selflink"
>#</a
></p
@@ -1632,8 +1606,6 @@
>AssocT</a
> <a href="#" title="TypeFamilies"
>Y</a
- > :: <a href="#" title="Data.Kind"
- >Type</a
> <a href="#" class="selflink"
>#</a
></p
@@ -1678,8 +1650,6 @@
>AssocD</a
> <a href="#" title="TypeFamilies"
>X</a
- > :: <a href="#" title="Data.Kind"
- >Type</a
> <a href="#" class="selflink"
>#</a
></p
@@ -1690,8 +1660,6 @@
>AssocT</a
> <a href="#" title="TypeFamilies"
>X</a
- > :: <a href="#" title="Data.Kind"
- >Type</a
> <a href="#" class="selflink"
>#</a
></p