summaryrefslogtreecommitdiff
path: root/testsuite/tests/polykinds/T12593.stderr
blob: 27123a8bc83ddff5476b1e3616a0507c62ae9544 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116

T12593.hs:11:16: error:
    • Expected kind ‘k0 -> k1 -> *’, but ‘Free k k1 k2 p’ has kind ‘*’
    • In the type signature:
        run :: k2 q =>
               Free k k1 k2 p a b
               -> (forall (c :: k) (d :: k1). p c d -> q c d) -> q a b

T12593.hs:12:31: error:
    • Expecting one more argument to ‘k’
      Expected a type, but
      ‘k’ has kind
      ‘(((k0 -> k1 -> *) -> Constraint) -> (k3 -> k4 -> *) -> *)
       -> Constraint’
    • In the kind ‘k’
      In the type signature:
        run :: k2 q =>
               Free k k1 k2 p a b
               -> (forall (c :: k) (d :: k1). p c d -> q c d) -> q a b

T12593.hs:12:40: error:
    • Expecting two more arguments to ‘k1’
      Expected a type, but
      ‘k1’ has kind
      ‘((k0 -> k1 -> *) -> Constraint) -> (k3 -> k4 -> *) -> *’
    • In the kind ‘k1’
      In the type signature:
        run :: k2 q =>
               Free k k1 k2 p a b
               -> (forall (c :: k) (d :: k1). p c d -> q c d) -> q a b

T12593.hs:12:47: error:
    • Couldn't match kind ‘(((k0 -> k1 -> *) -> Constraint)
                            -> (k3 -> k4 -> *) -> *)
                           -> Constraint’
                     with ‘*’
      When matching kinds
        k3 :: *
        k6 :: (((k0 -> k1 -> *) -> Constraint) -> (k3 -> k4 -> *) -> *)
              -> Constraint
    • In the first argument of ‘p’, namely ‘c’
      In the type signature:
        run :: k2 q =>
               Free k k1 k2 p a b
               -> (forall (c :: k) (d :: k1). p c d -> q c d) -> q a b

T12593.hs:12:49: error:
    • Couldn't match kind ‘((k0 -> k1 -> *) -> Constraint)
                           -> (k3 -> k4 -> *) -> *’
                     with ‘*’
      When matching kinds
        k4 :: *
        k7 :: ((k0 -> k1 -> *) -> Constraint) -> (k3 -> k4 -> *) -> *
    • In the second argument of ‘p’, namely ‘d’
      In the type signature:
        run :: k2 q =>
               Free k k1 k2 p a b
               -> (forall (c :: k) (d :: k1). p c d -> q c d) -> q a b

T12593.hs:12:56: error:
    • Couldn't match kind ‘(((k0 -> k1 -> *) -> Constraint)
                            -> (k3 -> k4 -> *) -> *)
                           -> Constraint’
                     with ‘*’
      When matching kinds
        k0 :: *
        k6 :: (((k0 -> k1 -> *) -> Constraint) -> (k3 -> k4 -> *) -> *)
              -> Constraint
    • In the first argument of ‘q’, namely ‘c’
      In the type signature:
        run :: k2 q =>
               Free k k1 k2 p a b
               -> (forall (c :: k) (d :: k1). p c d -> q c d) -> q a b

T12593.hs:12:58: error:
    • Couldn't match kind ‘((k0 -> k1 -> *) -> Constraint)
                           -> (k3 -> k4 -> *) -> *’
                     with ‘*’
      When matching kinds
        k1 :: *
        k7 :: ((k0 -> k1 -> *) -> Constraint) -> (k3 -> k4 -> *) -> *
    • In the second argument of ‘q’, namely ‘d’
      In the type signature:
        run :: k2 q =>
               Free k k1 k2 p a b
               -> (forall (c :: k) (d :: k1). p c d -> q c d) -> q a b

T12593.hs:14:6: error:
    • Couldn't match type ‘Free k2 p0’ with ‘Free k6 k7 k8 p’
      Expected type: Free k6 k7 k8 p a b
        Actual type: Free k2 p0 a b
    • In the pattern: Free cat
      In an equation for ‘run’: run (Free cat) = cat
    • Relevant bindings include
        run :: Free k6 k7 k8 p a b
               -> (forall (c :: k6) (d :: k7). p c d -> q c d) -> q a b
          (bound at T12593.hs:14:1)

T12593.hs:14:18: error:
    • Couldn't match kind ‘*’
                     with ‘(((k3 -> k4 -> *) -> Constraint) -> (k3 -> k4 -> *) -> *)
                           -> Constraint’
      When matching kinds
        k0 :: *
        k6 :: (((k0 -> k1 -> *) -> Constraint) -> (k3 -> k4 -> *) -> *)
              -> Constraint
    • In the expression: cat
      In an equation for ‘run’: run (Free cat) = cat
    • Relevant bindings include
        cat :: forall (q :: k0 -> k1 -> *).
               k2 q =>
               (forall (c :: k0) (d :: k1). p0 c d -> q c d) -> q a b
          (bound at T12593.hs:14:11)
        run :: Free k6 k7 k8 p a b
               -> (forall (c :: k6) (d :: k7). p c d -> q c d) -> q a b
          (bound at T12593.hs:14:1)