Comments only [skip ci]
authorRichard Eisenberg <rae@cs.brynmawr.edu>
Thu, 21 Dec 2017 18:38:35 +0000 (13:38 -0500)
committerRichard Eisenberg <rae@cs.brynmawr.edu>
Thu, 21 Dec 2017 18:39:20 +0000 (13:39 -0500)
This fixes a typo and elaborates the Note [TyVarBndrs ...]
in TyCoRep, which was previously subtly wrong about
Required ForAllTys.

compiler/typecheck/TcSimplify.hs
compiler/types/TyCoRep.hs

index 8001fd6..56d6c78 100644 (file)
@@ -749,7 +749,7 @@ ctsPreds cts = [ ctEvPred ev | ct <- bagToList cts
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Consider
    f = e
-where f's type is infeered to be something like (a, Proxy k (Int |> co))
+where f's type is inferred to be something like (a, Proxy k (Int |> co))
 and we have an as-yet-unsolved, or perhaps insoluble, constraint
    [W] co :: Type ~ k
 We can't form types like (forall co. blah), so we can't generalise over
index b7d92a2..64e1068 100644 (file)
@@ -486,7 +486,8 @@ This table summarises the visibility rules:
 |  tvis :: ArgFlag
 |  tvis = Inferred:            f :: forall {a}. type    Arg not allowed:  f
 |  tvis = Specified:           f :: forall a. type      Arg optional:     f  or  f @Int
-|  tvis = Required:   Illegal: See Note [No Required TyBinder in terms]
+|  tvis = Required:            T :: forall k -> type    Arg required:     T *
+|    This last form is illegal in terms: See Note [No Required TyBinder in terms]
 |
 | TvBndr k cvis :: TyConBinder, in the TyConBinders of a TyCon
 |  cvis :: TyConBndrVis