blob: 1d852031d9601c80cde81336548aeba32a312174 (
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
|
T14846.hs:38:8: error:
• Couldn't match type ‘ríki’ with ‘Hom riki’
‘ríki’ is a rigid type variable bound by
the type signature for:
i :: forall k5 (cls2 :: k5
-> Constraint) k6 (xx :: k6) (a :: Struct cls2) (ríki :: Struct
cls2
-> Struct
cls2
-> *).
StructI xx a =>
ríki a a
at T14846.hs:38:8-48
Expected type: ríki a a
Actual type: Hom riki a a
• When checking that instance signature for ‘i’
is more general than its signature in the class
Instance sig: forall k1 (cls :: k1
-> Constraint) k2 (xx :: k2) (a :: Struct cls).
StructI xx a =>
Hom riki a a
Class sig: forall k1 (cls :: k1
-> Constraint) k2 (xx :: k2) (a :: Struct
cls) (ríki :: Struct
cls
-> Struct
cls
-> *).
StructI xx a =>
ríki a a
In the instance declaration for ‘Category (Hom riki)’
T14846.hs:39:31: error:
• Couldn't match kind ‘k4’ with ‘Struct cls2’
‘k4’ is a rigid type variable bound by
the instance declaration
at T14846.hs:37:10-65
When matching kinds
cls1 :: k4 -> Constraint
cls0 :: Struct cls -> Constraint
Expected kind ‘Struct cls0’,
but ‘Structured a cls’ has kind ‘Struct cls1’
• In the first argument of ‘AStruct’, namely ‘(Structured a cls)’
In an expression type signature: AStruct (Structured a cls)
In the expression: struct :: AStruct (Structured a cls)
• Relevant bindings include
i :: Hom riki a a (bound at T14846.hs:39:3)
|