Error message wibbles, following TcErrors refactoring
authorSimon Peyton Jones <simonpj@microsoft.com>
Mon, 22 Apr 2013 11:56:09 +0000 (12:56 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Mon, 22 Apr 2013 12:00:57 +0000 (13:00 +0100)
23 files changed:
testsuite/tests/gadt/T3651.stderr
testsuite/tests/indexed-types/should_fail/T3330c.stderr
testsuite/tests/typecheck/should_compile/FD3.stderr
testsuite/tests/typecheck/should_compile/tc211.stderr
testsuite/tests/typecheck/should_fail/FDsFromGivens.stderr
testsuite/tests/typecheck/should_fail/T3950.stderr
testsuite/tests/typecheck/should_fail/T5236.stderr
testsuite/tests/typecheck/should_fail/T5246.stderr
testsuite/tests/typecheck/should_fail/T5570.stderr
testsuite/tests/typecheck/should_fail/T5978.stderr
testsuite/tests/typecheck/should_fail/T7368.stderr
testsuite/tests/typecheck/should_fail/T7368a.stderr
testsuite/tests/typecheck/should_fail/T7696.stderr
testsuite/tests/typecheck/should_fail/mc22.stderr
testsuite/tests/typecheck/should_fail/mc25.stderr
testsuite/tests/typecheck/should_fail/tcfail090.stderr
testsuite/tests/typecheck/should_fail/tcfail122.stderr
testsuite/tests/typecheck/should_fail/tcfail123.stderr
testsuite/tests/typecheck/should_fail/tcfail143.stderr
testsuite/tests/typecheck/should_fail/tcfail159.stderr
testsuite/tests/typecheck/should_fail/tcfail174.stderr
testsuite/tests/typecheck/should_fail/tcfail200.stderr
testsuite/tests/typecheck/should_fail/tcfail206.stderr

index 8f53dc0..5d5a492 100644 (file)
@@ -1,35 +1,21 @@
-
-T3651.hs:11:11:
-    Couldn't match type ‛Bool’ with ‛()’
-    Inaccessible code in
-      a pattern with constructor U :: Z (), in an equation for ‛unsafe1’
-    In the pattern: U
-    In an equation for ‛unsafe1’: unsafe1 B U = ()
-
-T3651.hs:11:15:
-    Couldn't match type ‛Bool’ with ‛()’
-    Expected type: a
-      Actual type: ()
-    In the expression: ()
-    In an equation for ‛unsafe1’: unsafe1 B U = ()
-
-T3651.hs:14:11:
-    Couldn't match type ‛Bool’ with ‛()’
-    Inaccessible code in
-      a pattern with constructor U :: Z (), in an equation for ‛unsafe2’
-    In the pattern: U
-    In an equation for ‛unsafe2’: unsafe2 B U = ()
-
-T3651.hs:14:15:
-    Couldn't match type ‛Bool’ with ‛()’
-    Expected type: a
-      Actual type: ()
-    In the expression: ()
-    In an equation for ‛unsafe2’: unsafe2 B U = ()
-
-T3651.hs:17:11:
-    Couldn't match type ‛Bool’ with ‛()’
-    Inaccessible code in
-      a pattern with constructor U :: Z (), in an equation for ‛unsafe3’
-    In the pattern: U
-    In an equation for ‛unsafe3’: unsafe3 B U = True
+\r
+T3651.hs:11:11:\r
+    Couldn't match type ‛Bool’ with ‛()’\r
+    Inaccessible code in\r
+      a pattern with constructor U :: Z (), in an equation for ‛unsafe1’\r
+    In the pattern: U\r
+    In an equation for ‛unsafe1’: unsafe1 B U = ()\r
+\r
+T3651.hs:14:11:\r
+    Couldn't match type ‛Bool’ with ‛()’\r
+    Inaccessible code in\r
+      a pattern with constructor U :: Z (), in an equation for ‛unsafe2’\r
+    In the pattern: U\r
+    In an equation for ‛unsafe2’: unsafe2 B U = ()\r
+\r
+T3651.hs:17:11:\r
+    Couldn't match type ‛Bool’ with ‛()’\r
+    Inaccessible code in\r
+      a pattern with constructor U :: Z (), in an equation for ‛unsafe3’\r
+    In the pattern: U\r
+    In an equation for ‛unsafe3’: unsafe3 B U = True\r
index 52d6afe..7fa660c 100644 (file)
@@ -1,11 +1,25 @@
-
-T3330c.hs:23:43:
-    Couldn't match kind ‛*’ with ‛* -> *’
-    When matching types
-      Der ((->) x) :: * -> *
-      R :: (* -> *) -> *
-    Expected type: Der ((->) x) (f1 x)
-      Actual type: R f1
-    In the first argument of ‛plug’, namely ‛rf’
-    In the first argument of ‛Inl’, namely ‛(plug rf df x)’
-    In the expression: Inl (plug rf df x)
+\r
+T3330c.hs:23:43:\r
+    Could not deduce (f1 ~ f1 x)\r
+    from the context (f ~ (f1 :+: g))\r
+      bound by a pattern with constructor\r
+                 RSum :: forall (f :: * -> *) (g :: * -> *).\r
+                         R f -> R g -> R (f :+: g),\r
+               in an equation for ‛plug'’\r
+      at T3330c.hs:23:8-17\r
+      ‛f1’ is a rigid type variable bound by\r
+           a pattern with constructor\r
+             RSum :: forall (f :: * -> *) (g :: * -> *).\r
+                     R f -> R g -> R (f :+: g),\r
+           in an equation for ‛plug'’\r
+           at T3330c.hs:23:8\r
+    Expected type: Der ((->) x) (f1 x)\r
+      Actual type: R f1\r
+    Relevant bindings include\r
+      plug' :: R f -> Der f x -> x -> f x (bound at T3330c.hs:23:1)\r
+      rf :: R f1 (bound at T3330c.hs:23:13)\r
+      df :: f1 x (bound at T3330c.hs:23:25)\r
+      x :: x (bound at T3330c.hs:23:29)\r
+    In the first argument of ‛plug’, namely ‛rf’\r
+    In the first argument of ‛Inl’, namely ‛(plug rf df x)’\r
+    In the expression: Inl (plug rf df x)\r
index 9c0a11c..664fd35 100644 (file)
@@ -1,16 +1,5 @@
-
-FD3.hs:15:15:
-    Couldn't match type ‛a’ with ‛(String, a)’
-      ‛a’ is a rigid type variable bound by
-          the type signature for translate :: (String, a) -> A a
-          at FD3.hs:14:14
-    Relevant bindings include
-      translate :: (String, a) -> A a (bound at FD3.hs:15:1)
-      a :: (String, a) (bound at FD3.hs:15:11)
-    When using functional dependencies to combine
-      MkA a a,
-        arising from the dependency ‛a -> b’
-        in the instance declaration at FD3.hs:12:10
-      MkA (String, a) a, arising from a use of ‛mkA’ at FD3.hs:15:15-17
-    In the expression: mkA a
-    In an equation for ‛translate’: translate a = mkA a
+\r
+FD3.hs:15:15:\r
+    No instance for (MkA (String, a) a) arising from a use of ‛mkA’\r
+    In the expression: mkA a\r
+    In an equation for ‛translate’: translate a = mkA a\r
index 7538ded..c140ba6 100644 (file)
@@ -1,35 +1,92 @@
-
-tc211.hs:15:22:
-    Couldn't match type ‛forall a6. a6 -> a6’ with ‛a -> a’
-    Expected type: [a -> a]
-      Actual type: [forall a. a -> a]
-    In the first argument of ‛head’, namely ‛foo’
-    In the first argument of ‛(:) ::
-                                (forall a. a -> a)
-                                -> [forall a. a -> a] -> [forall a. a -> a]’, namely
-      ‛(head foo)’
-    In the expression:
-      ((:) ::
-         (forall a. a -> a) -> [forall a. a -> a] -> [forall a. a -> a])
-        (head foo) foo
-
-tc211.hs:70:9:
-    Couldn't match type ‛forall a7. a7 -> a7’ with ‛a6 -> a6’
-    Expected type: List (forall a. a -> a)
-                   -> (forall a. a -> a) -> a6 -> a6
-      Actual type: List (forall a. a -> a)
-                   -> (forall a. a -> a) -> forall a. a -> a
-    In the expression:
-        foo2 ::
-          List (forall a. a -> a) -> (forall a. a -> a) -> (forall a. a -> a)
-    In the expression:
-      (foo2 ::
-         List (forall a. a -> a)
-         -> (forall a. a -> a) -> (forall a. a -> a))
-        xs1 (\ x -> x)
-    In an equation for ‛bar4’:
-        bar4
-          = (foo2 ::
-               List (forall a. a -> a)
-               -> (forall a. a -> a) -> (forall a. a -> a))
-              xs1 (\ x -> x)
+\r
+tc211.hs:15:22:\r
+    Couldn't match type ‛forall a6. a6 -> a6’ with ‛a -> a’\r
+    Expected type: [a -> a]\r
+      Actual type: [forall a. a -> a]\r
+    In the first argument of ‛head’, namely ‛foo’\r
+    In the first argument of ‛(:) ::\r
+                                (forall a. a -> a)\r
+                                -> [forall a. a -> a] -> [forall a. a -> a]’, namely\r
+      ‛(head foo)’\r
+    In the expression:\r
+      ((:) ::\r
+         (forall a. a -> a) -> [forall a. a -> a] -> [forall a. a -> a])\r
+        (head foo) foo\r
+\r
+tc211.hs:48:19:\r
+    Could not deduce (Num a2) arising from the literal ‛3’\r
+    from the context (Num a)\r
+      bound by the inferred type of\r
+               h1 :: Num a => (forall a1. a1 -> a1) -> a\r
+      at tc211.hs:(47,1)-(49,9)\r
+    The type variable ‛a2’ is ambiguous\r
+    Relevant bindings include\r
+      y :: Pair a2 (Pair a3 b1) (bound at tc211.hs:48:10)\r
+    Note: there are several potential instances:\r
+      instance Num Double -- Defined in ‛GHC.Float’\r
+      instance Num Float -- Defined in ‛GHC.Float’\r
+      instance Integral a => Num (GHC.Real.Ratio a)\r
+        -- Defined in ‛GHC.Real’\r
+      ...plus three others\r
+    In the first argument of ‛g’, namely ‛3’\r
+    In the first argument of ‛P’, namely ‛(g 3)’\r
+    In the expression: P (g 3) (g (P 3 4))\r
+\r
+tc211.hs:48:28:\r
+    Could not deduce (Num a3) arising from the literal ‛3’\r
+    from the context (Num a)\r
+      bound by the inferred type of\r
+               h1 :: Num a => (forall a1. a1 -> a1) -> a\r
+      at tc211.hs:(47,1)-(49,9)\r
+    The type variable ‛a3’ is ambiguous\r
+    Relevant bindings include\r
+      y :: Pair a2 (Pair a3 b1) (bound at tc211.hs:48:10)\r
+    Note: there are several potential instances:\r
+      instance Num Double -- Defined in ‛GHC.Float’\r
+      instance Num Float -- Defined in ‛GHC.Float’\r
+      instance Integral a => Num (GHC.Real.Ratio a)\r
+        -- Defined in ‛GHC.Real’\r
+      ...plus three others\r
+    In the first argument of ‛P’, namely ‛3’\r
+    In the first argument of ‛g’, namely ‛(P 3 4)’\r
+    In the second argument of ‛P’, namely ‛(g (P 3 4))’\r
+\r
+tc211.hs:48:30:\r
+    Could not deduce (Num b1) arising from the literal ‛4’\r
+    from the context (Num a)\r
+      bound by the inferred type of\r
+               h1 :: Num a => (forall a1. a1 -> a1) -> a\r
+      at tc211.hs:(47,1)-(49,9)\r
+    The type variable ‛b1’ is ambiguous\r
+    Relevant bindings include\r
+      y :: Pair a2 (Pair a3 b1) (bound at tc211.hs:48:10)\r
+    Note: there are several potential instances:\r
+      instance Num Double -- Defined in ‛GHC.Float’\r
+      instance Num Float -- Defined in ‛GHC.Float’\r
+      instance Integral a => Num (GHC.Real.Ratio a)\r
+        -- Defined in ‛GHC.Real’\r
+      ...plus three others\r
+    In the second argument of ‛P’, namely ‛4’\r
+    In the first argument of ‛g’, namely ‛(P 3 4)’\r
+    In the second argument of ‛P’, namely ‛(g (P 3 4))’\r
+\r
+tc211.hs:70:9:\r
+    Couldn't match type ‛forall a7. a7 -> a7’ with ‛a6 -> a6’\r
+    Expected type: List (forall a. a -> a)\r
+                   -> (forall a. a -> a) -> a6 -> a6\r
+      Actual type: List (forall a. a -> a)\r
+                   -> (forall a. a -> a) -> forall a. a -> a\r
+    In the expression:\r
+        foo2 ::\r
+          List (forall a. a -> a) -> (forall a. a -> a) -> (forall a. a -> a)\r
+    In the expression:\r
+      (foo2 ::\r
+         List (forall a. a -> a)\r
+         -> (forall a. a -> a) -> (forall a. a -> a))\r
+        xs1 (\ x -> x)\r
+    In an equation for ‛bar4’:\r
+        bar4\r
+          = (foo2 ::\r
+               List (forall a. a -> a)\r
+               -> (forall a. a -> a) -> (forall a. a -> a))\r
+              xs1 (\ x -> x)\r
index 893ec8a..cb47049 100644 (file)
@@ -1,14 +1,10 @@
-
-FDsFromGivens.hs:21:15:
-    Couldn't match type ‛Char’ with ‛[a]’
-    Relevant bindings include
-      bar :: KCC -> a -> a (bound at FDsFromGivens.hs:21:1)
-    When using functional dependencies to combine
-      C Char Char,
-        arising from a pattern with constructor
-                       KCC :: C Char Char => () -> KCC,
-                     in an equation for ‛bar’
-        at FDsFromGivens.hs:21:6-10
-      C Char [a], arising from a use of ‛f’ at FDsFromGivens.hs:21:15
-    In the expression: f
-    In an equation for ‛bar’: bar (KCC _) = f
+\r
+FDsFromGivens.hs:21:15:\r
+    Could not deduce (C Char [a]) arising from a use of ‛f’\r
+    from the context (C Char Char)\r
+      bound by a pattern with constructor\r
+                 KCC :: C Char Char => () -> KCC,\r
+               in an equation for ‛bar’\r
+      at FDsFromGivens.hs:21:6-10\r
+    In the expression: f\r
+    In an equation for ‛bar’: bar (KCC _) = f\r
index b95b4f8..b524415 100644 (file)
@@ -1,16 +1,15 @@
-
-T3950.hs:15:13:
-    Couldn't match kind ‛* -> *’ with ‛*’
-    When matching types
-      w :: (* -> * -> *) -> *
-      Sealed :: (* -> *) -> *
-    Expected type: w (Id p)
-      Actual type: Sealed (Id p0 x0)
-    In the first argument of ‛Just’, namely ‛rp'’
-    In the expression: Just rp'
-    In an equation for ‛rp’:
-        rp _
-          = Just rp'
-          where
-              rp' :: Sealed (Id p x)
-              rp' = undefined
+\r
+T3950.hs:15:13:\r
+    Couldn't match type ‛Id p0 x0’ with ‛Id p’\r
+    Expected type: w (Id p)\r
+      Actual type: Sealed (Id p0 x0)\r
+    Relevant bindings include\r
+      rp :: Bool -> Maybe (w (Id p)) (bound at T3950.hs:15:1)\r
+    In the first argument of ‛Just’, namely ‛rp'’\r
+    In the expression: Just rp'\r
+    In an equation for ‛rp’:\r
+        rp _\r
+          = Just rp'\r
+          where\r
+              rp' :: Sealed (Id p x)\r
+              rp' = undefined\r
index b2de3de..f448534 100644 (file)
@@ -1,12 +1,5 @@
-
-T5236.hs:13:9:
-    Couldn't match type ‛A’ with ‛B’
-    When using functional dependencies to combine
-      Id A A,
-        arising from the dependency ‛a -> b’
-        in the instance declaration at T5236.hs:10:10
-      Id A B,
-        arising from the type signature for loop :: Id A B => Bool
-        at T5236.hs:13:9-22
-    In the ambiguity check for: Id A B => Bool
-    In the type signature for ‛loop’: loop :: Id A B => Bool
+\r
+T5236.hs:17:5:\r
+    No instance for (Id A B) arising from a use of ‛loop’\r
+    In the expression: loop\r
+    In an equation for ‛f’: f = loop\r
index f494a4c..fc8e35e 100644 (file)
@@ -1,10 +1,9 @@
-
-T5246.hs:11:10:
-    Couldn't match type ‛[Char]’ with ‛Int’
-    When using functional dependencies to combine
-      ?x::[Char],
-        arising from the implicit-parameter bindings for ?x
-        at T5246.hs:(10,7)-(11,12)
-      ?x::Int, arising from a use of ‛foo’ at T5246.hs:11:10-12
-    In the expression: foo
-    In the expression: let ?x = "hello" in foo
+\r
+T5246.hs:11:10:\r
+    Could not deduce (?x::Int) arising from a use of ‛foo’\r
+    from the context (?x::[Char])\r
+      bound by the implicit-parameter bindings for ?x\r
+      at T5246.hs:(10,7)-(11,12)\r
+    In the expression: foo\r
+    In the expression: let ?x = "hello" in foo\r
+    In an equation for ‛bar’: bar = let ?x = "hello" in foo\r
index 90f9155..7bf7535 100644 (file)
@@ -1,9 +1,8 @@
-
-T5570.hs:7:16:
-    Couldn't match kind ‛*’ with ‛#’
-    When matching types
-      s0 :: *
-      Double# :: #
-    In the second argument of ‛($)’, namely ‛D# $ 3.0##’
-    In the expression: print $ D# $ 3.0##
-    In an equation for ‛main’: main = print $ D# $ 3.0##
+\r
+T5570.hs:7:16:\r
+    Kind incompatibility when matching types:\r
+      s0 :: *\r
+      Double# :: #\r
+    In the second argument of ‛($)’, namely ‛D# $ 3.0##’\r
+    In the expression: print $ D# $ 3.0##\r
+    In an equation for ‛main’: main = print $ D# $ 3.0##\r
index e07acd4..0deac96 100644 (file)
@@ -1,10 +1,5 @@
-
-T5978.hs:22:11:
-    Couldn't match type ‛Bool’ with ‛Char’
-    When using functional dependencies to combine
-      C Double Bool,
-        arising from the dependency ‛from -> to’
-        in the instance declaration at T5978.hs:8:10
-      C Double Char, arising from a use of ‛polyBar’ at T5978.hs:22:11-17
-    In the expression: polyBar id monoFoo
-    In an equation for ‛monoBar’: monoBar = polyBar id monoFoo
+\r
+T5978.hs:22:11:\r
+    No instance for (C Double Char) arising from a use of ‛polyBar’\r
+    In the expression: polyBar id monoFoo\r
+    In an equation for ‛monoBar’: monoBar = polyBar id monoFoo\r
index cdb043c..091cafb 100644 (file)
@@ -1,18 +1,11 @@
 \r
 T7368.hs:3:10:\r
-    Couldn't match kind ‛* -> *’ with ‛*’\r
-    When matching types\r
-      b1 :: * -> *\r
-      b0 :: *\r
+    Kind incompatibility when matching types:\r
+      c0 :: (* -> *) -> *\r
+      (->) a0 :: * -> *\r
     Expected type: a0 -> b0\r
-      Actual type: c0 b1\r
+      Actual type: c0 Maybe\r
     In the return type of a call of ‛l’\r
     Probable cause: ‛l’ is applied to too many arguments\r
-    In the first argument of ‛b’, namely ‛(l ())’\r
-    In the expression: b (l ())\r
-\r
-T7368.hs:3:13:\r
-    Couldn't match expected type ‛b1 a1’ with actual type ‛()’\r
-    In the first argument of ‛l’, namely ‛()’\r
-    In the first argument of ‛b’, namely ‛(l ())’\r
-    In the expression: b (l ())\r
+    In the first argument of ‛b’, namely ‛(l Nothing)’\r
+    In the expression: b (l Nothing)\r
index bc193ca..94d3688 100644 (file)
@@ -1,10 +1,11 @@
-
-T7368a.hs:8:6:
-    Couldn't match kind ‛*’ with ‛* -> *’
-    When matching types
-      f :: * -> *
-      Bad :: (* -> *) -> *
-    Expected type: f (Bad f)
-      Actual type: Bad t0
-    In the pattern: Bad x
-    In an equation for ‛fun’: fun (Bad x) = True
+\r
+T7368a.hs:8:6:\r
+    Couldn't match type ‛f’ with ‛Bad’\r
+      ‛f’ is a rigid type variable bound by\r
+          the type signature for fun :: f (Bad f) -> Bool at T7368a.hs:7:15\r
+    Expected type: f (Bad f)\r
+      Actual type: Bad t0\r
+    Relevant bindings include\r
+      fun :: f (Bad f) -> Bool (bound at T7368a.hs:8:1)\r
+    In the pattern: Bad x\r
+    In an equation for ‛fun’: fun (Bad x) = True\r
index da30556..b166faa 100644 (file)
@@ -1,17 +1,7 @@
-
-T7696.hs:7:6:
-    Couldn't match kind ‛* -> *’ with ‛*’
-    When matching types
-      m0 :: * -> *
-      () :: *
-    Expected type: ((), w ())
-      Actual type: (m0 a0, t0 m0)
-    In the expression: f1
-    In an equation for ‛f2’: f2 = f1
-
-T7696.hs:7:6:
-    Couldn't match type ‛m0 a0’ with ‛()’
-    Expected type: ((), w ())
-      Actual type: (m0 a0, t0 m0)
-    In the expression: f1
-    In an equation for ‛f2’: f2 = f1
+\r
+T7696.hs:7:6:\r
+    Couldn't match type ‛m0 a0’ with ‛()’\r
+    Expected type: ((), w ())\r
+      Actual type: (m0 a0, t0 m0)\r
+    In the expression: f1\r
+    In an equation for ‛f2’: f2 = f1\r
index 7a4cc4e..3a149fd 100644 (file)
@@ -1,11 +1,22 @@
-
-mc22.hs:10:26:
-    Couldn't match type ‛a’ with ‛t a’
-      ‛a’ is a rigid type variable bound by
-          a type expected by the context: [a] -> [t a] at mc22.hs:10:9
-    Expected type: [a] -> [t a]
-      Actual type: [a] -> [a]
-    Relevant bindings include foo :: [t [Char]] (bound at mc22.hs:8:1)
-    In the return type of a call of ‛take’
-    In the expression: take 5
-    In a stmt of a monad comprehension: then group using take 5
+\r
+mc22.hs:10:9:\r
+    No instance for (Functor t) arising from a use of ‛fmap’\r
+    Possible fix:\r
+      add (Functor t) to the context of\r
+        a type expected by the context: (a -> b) -> t a -> t b\r
+        or the inferred type of foo :: [t [Char]]\r
+    In the expression: fmap\r
+    In a stmt of a monad comprehension: then group using take 5\r
+    In the expression:\r
+      [x + 1 | x <- ["Hello", "World"], then group using take 5]\r
+\r
+mc22.hs:10:26:\r
+    Couldn't match type ‛a’ with ‛t a’\r
+      ‛a’ is a rigid type variable bound by\r
+          a type expected by the context: [a] -> [t a] at mc22.hs:10:9\r
+    Expected type: [a] -> [t a]\r
+      Actual type: [a] -> [a]\r
+    Relevant bindings include foo :: [t [Char]] (bound at mc22.hs:8:1)\r
+    In the return type of a call of ‛take’\r
+    In the expression: take 5\r
+    In a stmt of a monad comprehension: then group using take 5\r
index 855ec1e..52b40c7 100644 (file)
@@ -1,9 +1,19 @@
-
-mc25.hs:9:46:
-    Couldn't match type ‛Int’ with ‛a -> t’
-    Expected type: (a -> t) -> [a] -> [t1 a]
-      Actual type: Int -> [a] -> [a]
-    Relevant bindings include z :: [t1 t] (bound at mc25.hs:9:1)
-    In the expression: take
-    In a stmt of a monad comprehension: then group by x using take
-    In the expression: [x | x <- [1 .. 10], then group by x using take]
+\r
+mc25.hs:9:24:\r
+    No instance for (Functor t1) arising from a use of ‛fmap’\r
+    Possible fix:\r
+      add (Functor t1) to the context of\r
+        a type expected by the context: (a -> b) -> t1 a -> t1 b\r
+        or the inferred type of z :: [t1 t]\r
+    In the expression: fmap\r
+    In a stmt of a monad comprehension: then group by x using take\r
+    In the expression: [x | x <- [1 .. 10], then group by x using take]\r
+\r
+mc25.hs:9:46:\r
+    Couldn't match type ‛Int’ with ‛a -> t’\r
+    Expected type: (a -> t) -> [a] -> [t1 a]\r
+      Actual type: Int -> [a] -> [a]\r
+    Relevant bindings include z :: [t1 t] (bound at mc25.hs:9:1)\r
+    In the expression: take\r
+    In a stmt of a monad comprehension: then group by x using take\r
+    In the expression: [x | x <- [1 .. 10], then group by x using take]\r
index 622e181..1c43e12 100644 (file)
@@ -1,8 +1,7 @@
-
-tcfail090.hs:8:9:
-    Couldn't match kind ‛*’ with ‛#’
-    When matching types
-      a0 :: *
-      ByteArray# :: #
-    In the expression: undefined
-    In an equation for ‛die’: die _ = undefined
+\r
+tcfail090.hs:8:9:\r
+    Kind incompatibility when matching types:\r
+      a0 :: *\r
+      ByteArray# :: #\r
+    In the expression: undefined\r
+    In an equation for ‛die’: die _ = undefined\r
index ec0f6a3..9e07184 100644 (file)
@@ -1,17 +1,18 @@
-
-tcfail122.hs:8:9:
-    Couldn't match kind ‛* -> *’ with ‛*’
-    When matching types
-      d0 :: * -> *
-      b :: *
-    Expected type: a b
-      Actual type: c0 d0
-    In the expression:
-        undefined :: forall (c :: (* -> *) -> *) (d :: * -> *). c d
-    In the expression:
-      [undefined :: forall a b. a b,
-       undefined :: forall (c :: (* -> *) -> *) (d :: * -> *). c d]
-    In an equation for ‛foo’:
-        foo
-          = [undefined :: forall a b. a b,
-             undefined :: forall (c :: (* -> *) -> *) (d :: * -> *). c d]
+\r
+tcfail122.hs:8:9:\r
+    Kind incompatibility when matching types:\r
+      c0 :: (* -> *) -> *\r
+      a0 :: * -> *\r
+    Expected type: a0 b0\r
+      Actual type: c0 d0\r
+    Relevant bindings include\r
+      foo :: [a0 b0] (bound at tcfail122.hs:7:1)\r
+    In the expression:\r
+        undefined :: forall (c :: (* -> *) -> *) (d :: * -> *). c d\r
+    In the expression:\r
+      [undefined :: forall a b. a b,\r
+       undefined :: forall (c :: (* -> *) -> *) (d :: * -> *). c d]\r
+    In an equation for ‛foo’:\r
+        foo\r
+          = [undefined :: forall a b. a b,\r
+             undefined :: forall (c :: (* -> *) -> *) (d :: * -> *). c d]\r
index 2a70414..510d1db 100644 (file)
@@ -1,9 +1,8 @@
-
-tcfail123.hs:11:9:
-    Couldn't match kind ‛*’ with ‛#’
-    When matching types
-      t0 :: *
-      GHC.Prim.Int# :: #
-    In the first argument of ‛f’, namely ‛3#’
-    In the expression: f 3#
-    In an equation for ‛h’: h v = f 3#
+\r
+tcfail123.hs:11:9:\r
+    Kind incompatibility when matching types:\r
+      t0 :: *\r
+      GHC.Prim.Int# :: #\r
+    In the first argument of ‛f’, namely ‛3#’\r
+    In the expression: f 3#\r
+    In an equation for ‛h’: h v = f 3#\r
index dadccbe..7c1cc92 100644 (file)
@@ -1,11 +1,5 @@
-
-tcfail143.hs:29:9:
-    Couldn't match type ‛S Z’ with ‛Z’
-    When using functional dependencies to combine
-      MinMax a Z Z a,
-        arising from the dependency ‛a b -> c d’
-        in the instance declaration at tcfail143.hs:11:10
-      MinMax (S Z) Z Z Z,
-        arising from a use of ‛extend’ at tcfail143.hs:29:9-16
-    In the expression: n1 `extend` n0
-    In an equation for ‛t2’: t2 = n1 `extend` n0
+\r
+tcfail143.hs:29:9:\r
+    No instance for (MinMax (S Z) Z Z Z) arising from a use of ‛extend’\r
+    In the expression: n1 `extend` n0\r
+    In an equation for ‛t2’: t2 = n1 `extend` n0\r
index 3ff73d8..9154e43 100644 (file)
@@ -1,9 +1,8 @@
-
-tcfail159.hs:9:11:
-    Couldn't match kind ‛*’ with ‛#’
-    When matching types
-      t0 :: *
-      (# Int, Int #) :: #
-    In the pattern: ~(# p, q #)
-    In a case alternative: ~(# p, q #) -> p
-    In the expression: case h x of { ~(# p, q #) -> p }
+\r
+tcfail159.hs:9:11:\r
+    Kind incompatibility when matching types:\r
+      t0 :: *\r
+      (# Int, Int #) :: #\r
+    In the pattern: ~(# p, q #)\r
+    In a case alternative: ~(# p, q #) -> p\r
+    In the expression: case h x of { ~(# p, q #) -> p }\r
index 56442b8..cdf2176 100644 (file)
@@ -1,7 +1,35 @@
-
-tcfail174.hs:9:10:
-    Couldn't match expected type ‛forall a. a -> a’
-                with actual type ‛a0 -> a0’
-    In the first argument of ‛Base’, namely ‛id’
-    In the expression: Base id
-    In an equation for ‛g’: g = Base id
+\r
+tcfail174.hs:9:10:\r
+    Couldn't match expected type ‛forall a. a -> a’\r
+                with actual type ‛a0 -> a0’\r
+    In the first argument of ‛Base’, namely ‛id’\r
+    In the expression: Base id\r
+    In an equation for ‛g’: g = Base id\r
+\r
+tcfail174.hs:13:14:\r
+    Couldn't match type ‛a’ with ‛a1’\r
+      because type variable ‛a1’ would escape its scope\r
+    This (rigid, skolem) type variable is bound by\r
+      the type forall a2. a2 -> a2\r
+      at tcfail174.hs:13:14\r
+    Expected type: Capture (forall x. x -> a)\r
+      Actual type: Capture (forall a. a -> a)\r
+    Relevant bindings include\r
+      h1 :: Capture a (bound at tcfail174.hs:13:1)\r
+    In the first argument of ‛Capture’, namely ‛g’\r
+    In the expression: Capture g\r
+    In an equation for ‛h1’: h1 = Capture g\r
+\r
+tcfail174.hs:16:14:\r
+    Couldn't match type ‛a’ with ‛b’\r
+      ‛a’ is a rigid type variable bound by\r
+          the type forall a1. a1 -> a1 at tcfail174.hs:16:14\r
+      ‛b’ is a rigid type variable bound by\r
+          the type signature for h2 :: Capture b at tcfail174.hs:15:7\r
+    Expected type: Capture (forall x. x -> b)\r
+      Actual type: Capture (forall a. a -> a)\r
+    Relevant bindings include\r
+      h2 :: Capture b (bound at tcfail174.hs:16:1)\r
+    In the first argument of ‛Capture’, namely ‛g’\r
+    In the expression: Capture g\r
+    In an equation for ‛h2’: h2 = Capture g\r
index 57c174d..f6d80a2 100644 (file)
@@ -1,9 +1,11 @@
-
-tcfail200.hs:5:15:
-    Couldn't match kind ‛*’ with ‛#’
-    When matching types
-      t1 :: *
-      GHC.Prim.Int# :: #
-    In the expression: 1#
-    In the expression: (1#, 'c')
-    In an equation for ‛x’: x = (1#, 'c')
+\r
+tcfail200.hs:5:15:\r
+    Kind incompatibility when matching types:\r
+      t0 :: *\r
+      GHC.Prim.Int# :: #\r
+    Relevant bindings include\r
+      f :: (t0, Char) (bound at tcfail200.hs:5:1)\r
+      x :: (t0, Char) (bound at tcfail200.hs:5:9)\r
+    In the expression: 1#\r
+    In the expression: (1#, 'c')\r
+    In an equation for ‛x’: x = (1#, 'c')\r
index d503b16..5a30f93 100644 (file)
@@ -1,28 +1,50 @@
-
-tcfail206.hs:5:5:
-    Couldn't match type ‛Bool’ with ‛Int’
-    Expected type: Bool -> (Int, Bool)
-      Actual type: Bool -> (Bool, Bool)
-    In the expression: (, True)
-    In an equation for ‛a’: a = (, True)
-
-tcfail206.hs:8:5:
-    Couldn't match type ‛(t0, Int)’ with ‛Bool -> (Int, Bool)’
-    Expected type: Int -> Bool -> (Int, Bool)
-      Actual type: Int -> (t0, Int)
-    In the expression: (1,)
-    In an equation for ‛b’: b = (1,)
-
-tcfail206.hs:14:5:
-    Couldn't match type ‛Bool’ with ‛Int’
-    Expected type: Bool -> (# Int, Bool #)
-      Actual type: Bool -> (# Bool, Bool #)
-    In the expression: (# , True #)
-    In an equation for ‛d’: d = (# , True #)
-
-tcfail206.hs:17:5:
-    Couldn't match type ‛(# a0, Int #)’ with ‛Bool -> (# Int, Bool #)’
-    Expected type: Int -> Bool -> (# Int, Bool #)
-      Actual type: Int -> (# a0, Int #)
-    In the expression: (# 1, #)
-    In an equation for ‛e’: e = (# 1, #)
+\r
+tcfail206.hs:5:5:\r
+    Couldn't match type ‛Bool’ with ‛Int’\r
+    Expected type: Bool -> (Int, Bool)\r
+      Actual type: Bool -> (Bool, Bool)\r
+    In the expression: (, True)\r
+    In an equation for ‛a’: a = (, True)\r
+\r
+tcfail206.hs:8:5:\r
+    Couldn't match type ‛(t0, Int)’ with ‛Bool -> (Int, Bool)’\r
+    Expected type: Int -> Bool -> (Int, Bool)\r
+      Actual type: Int -> (t0, Int)\r
+    In the expression: (1,)\r
+    In an equation for ‛b’: b = (1,)\r
+\r
+tcfail206.hs:11:5:\r
+    Couldn't match type ‛a’ with ‛Bool’\r
+      ‛a’ is a rigid type variable bound by\r
+          the type signature for c :: a -> (a, Bool) at tcfail206.hs:10:6\r
+    Expected type: a -> (a, Bool)\r
+      Actual type: a -> (a, a)\r
+    Relevant bindings include\r
+      c :: a -> (a, Bool) (bound at tcfail206.hs:11:1)\r
+    In the expression: (True || False,)\r
+    In an equation for ‛c’: c = (True || False,)\r
+\r
+tcfail206.hs:14:5:\r
+    Couldn't match type ‛Bool’ with ‛Int’\r
+    Expected type: Bool -> (# Int, Bool #)\r
+      Actual type: Bool -> (# Bool, Bool #)\r
+    In the expression: (# , True #)\r
+    In an equation for ‛d’: d = (# , True #)\r
+\r
+tcfail206.hs:17:5:\r
+    Couldn't match type ‛(# a0, Int #)’ with ‛Bool -> (# Int, Bool #)’\r
+    Expected type: Int -> Bool -> (# Int, Bool #)\r
+      Actual type: Int -> (# a0, Int #)\r
+    In the expression: (# 1, #)\r
+    In an equation for ‛e’: e = (# 1, #)\r
+\r
+tcfail206.hs:20:5:\r
+    Couldn't match type ‛a’ with ‛Bool’\r
+      ‛a’ is a rigid type variable bound by\r
+          the type signature for f :: a -> (# a, Bool #) at tcfail206.hs:19:6\r
+    Expected type: a -> (# a, Bool #)\r
+      Actual type: a -> (# a, a #)\r
+    Relevant bindings include\r
+      f :: a -> (# a, Bool #) (bound at tcfail206.hs:20:1)\r
+    In the expression: (# True || False, #)\r
+    In an equation for ‛f’: f = (# True || False, #)\r