blob: 7a5c84dd858e807f23f8558355b664ec265dbdcc (
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
|
rw.hs:14:47: error: [GHC-25897]
• Couldn't match expected type ‘a’ with actual type ‘Int’
‘a’ is a rigid type variable bound by
the type signature for:
writeInt :: forall a. T a -> IORef a -> IO ()
at rw.hs:12:1-34
• In the second argument of ‘writeIORef’, namely ‘(1 :: Int)’
In the expression: writeIORef ref (1 :: Int)
In a case alternative: ~(Li x) -> writeIORef ref (1 :: Int)
• Relevant bindings include
ref :: IORef a (bound at rw.hs:13:12)
v :: T a (bound at rw.hs:13:10)
writeInt :: T a -> IORef a -> IO () (bound at rw.hs:13:1)
rw.hs:19:51: error: [GHC-25897]
• Couldn't match type ‘a’ with ‘Bool’
Expected: a -> Bool
Actual: Bool -> Bool
‘a’ is a rigid type variable bound by
the type signature for:
readBool :: forall a. T a -> IORef a -> IO ()
at rw.hs:16:1-34
• In the second argument of ‘(.)’, namely ‘not’
In the second argument of ‘(>>=)’, namely ‘(print . not)’
In the expression: readIORef ref >>= (print . not)
• Relevant bindings include
ref :: IORef a (bound at rw.hs:17:12)
v :: T a (bound at rw.hs:17:10)
readBool :: T a -> IORef a -> IO () (bound at rw.hs:17:1)
|