blob: 195b113edef620e0423596f4a22d95b7ba81e232 (
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
|
T4093b.hs:31:13: error:
• Could not deduce: e ~ C
from the context: (EitherCO e (A C O n) (A O O n) ~ A e O n,
EitherCO x (A C C n) (A C O n) ~ A C x n)
bound by the type signature for:
blockToNodeList :: forall (n :: * -> * -> *) e x.
(EitherCO e (A C O n) (A O O n) ~ A e O n,
EitherCO x (A C C n) (A C O n) ~ A C x n) =>
Block n e x -> A e x n
at T4093b.hs:(19,1)-(22,26)
‘e’ is a rigid type variable bound by
the type signature for:
blockToNodeList :: forall (n :: * -> * -> *) e x.
(EitherCO e (A C O n) (A O O n) ~ A e O n,
EitherCO x (A C C n) (A C O n) ~ A C x n) =>
Block n e x -> A e x n
at T4093b.hs:(19,1)-(22,26)
Expected type: EitherCO e (A C O n) (A O O n)
Actual type: (MaybeC C (n C O), MaybeC O (n O C))
• In the expression: (JustC n, NothingC)
In an equation for ‘f’: f n _ = (JustC n, NothingC)
In an equation for ‘blockToNodeList’:
blockToNodeList b
= foldBlockNodesF (f, l) b z
where
z ::
EitherCO e (EitherCO e (A C O n) (A O O n)) (EitherCO e (A C O n) (A O O n))
z = undefined
f ::
n C O
-> EitherCO e (A C O n) (A O O n) -> EitherCO e (A C O n) (A O O n)
f n _ = (JustC n, NothingC)
....
• Relevant bindings include
f :: n C O
-> EitherCO e (A C O n) (A O O n) -> EitherCO e (A C O n) (A O O n)
(bound at T4093b.hs:31:5)
l :: n O C
-> EitherCO e (A C O n) (A O O n) -> EitherCO e (A C C n) (A O C n)
(bound at T4093b.hs:34:5)
b :: Block n e x (bound at T4093b.hs:25:17)
blockToNodeList :: Block n e x -> A e x n (bound at T4093b.hs:25:1)
|