../../typecheck/should_run/Defer01.hs:11:40: Warning: Couldn't match type ‘Char’ with ‘[Char]’ Expected type: String Actual type: Char In the first argument of ‘putStr’, namely ‘','’ In the second argument of ‘(>>)’, namely ‘putStr ','’ In the expression: putStr "Hello World" >> putStr ',' ../../typecheck/should_run/Defer01.hs:14:5: Warning: Couldn't match expected type ‘Int’ with actual type ‘Char’ In the expression: 'p' In an equation for ‘a’: a = 'p' ../../typecheck/should_run/Defer01.hs:18:9: Warning: No instance for (Eq B) arising from a use of ‘==’ In the expression: x == x In an equation for ‘b’: b x = x == x ../../typecheck/should_run/Defer01.hs:25:4: Warning: Couldn't match type ‘Int’ with ‘Bool’ Inaccessible code in a pattern with constructor C2 :: Bool -> C Bool, in an equation for ‘c’ In the pattern: C2 x In an equation for ‘c’: c (C2 x) = True ../../typecheck/should_run/Defer01.hs:28:5: Warning: No instance for (Num (a -> a)) (maybe you haven't applied enough arguments to a function?) arising from the literal ‘1’ In the expression: 1 In an equation for ‘d’: d = 1 ../../typecheck/should_run/Defer01.hs:31:5: Warning: Couldn't match expected type ‘Char -> t’ with actual type ‘Char’ Relevant bindings include f :: t (bound at ../../typecheck/should_run/Defer01.hs:31:1) The function ‘e’ is applied to one argument, but its type ‘Char’ has none In the expression: e 'q' In an equation for ‘f’: f = e 'q' ../../typecheck/should_run/Defer01.hs:34:8: Warning: Couldn't match expected type ‘Char’ with actual type ‘a’ ‘a’ is a rigid type variable bound by the type signature for h :: a -> (Char, Char) at ../../typecheck/should_run/Defer01.hs:33:6 Relevant bindings include x :: a (bound at ../../typecheck/should_run/Defer01.hs:34:3) h :: a -> (Char, Char) (bound at ../../typecheck/should_run/Defer01.hs:34:1) In the expression: x In the expression: (x, 'c') ../../typecheck/should_run/Defer01.hs:39:17: Warning: Couldn't match expected type ‘Bool’ with actual type ‘T a’ Relevant bindings include a :: a (bound at ../../typecheck/should_run/Defer01.hs:39:3) i :: a -> () (bound at ../../typecheck/should_run/Defer01.hs:39:1) In the first argument of ‘not’, namely ‘(K a)’ In the expression: (not (K a)) ../../typecheck/should_run/Defer01.hs:43:5: Warning: No instance for (MyClass a1) arising from a use of ‘myOp’ In the expression: myOp 23 In an equation for ‘j’: j = myOp 23 ../../typecheck/should_run/Defer01.hs:43:10: Warning: No instance for (Num a1) arising from the literal ‘23’ The type variable ‘a1’ is ambiguous Note: there are several potential instances: instance Num Integer -- Defined in ‘GHC.Num’ instance Num Double -- Defined in ‘GHC.Float’ instance Num Float -- Defined in ‘GHC.Float’ ...plus two others In the first argument of ‘myOp’, namely ‘23’ In the expression: myOp 23 In an equation for ‘j’: j = myOp 23 ../../typecheck/should_run/Defer01.hs:45:6: Warning: Couldn't match type ‘Int’ with ‘Bool’ Inaccessible code in the type signature for k :: (Int ~ Bool) => Int -> Bool In the ambiguity check for: (Int ~ Bool) => Int -> Bool To defer the ambiguity check to use sites, enable AllowAmbiguousTypes In the type signature for ‘k’: k :: (Int ~ Bool) => Int -> Bool ../../typecheck/should_run/Defer01.hs:45:6: Warning: Couldn't match expected type ‘Bool’ with actual type ‘Int’ In the ambiguity check for: (Int ~ Bool) => Int -> Bool To defer the ambiguity check to use sites, enable AllowAmbiguousTypes In the type signature for ‘k’: k :: (Int ~ Bool) => Int -> Bool ../../typecheck/should_run/Defer01.hs:45:6: Warning: Couldn't match type ‘Int’ with ‘Bool’ Inaccessible code in the type signature for k :: (Int ~ Bool) => Int -> Bool ../../typecheck/should_run/Defer01.hs:46:7: Warning: Couldn't match expected type ‘Bool’ with actual type ‘Int’ In the expression: x In an equation for ‘k’: k x = x ../../typecheck/should_run/Defer01.hs:49:5: Warning: Couldn't match expected type ‘IO a0’ with actual type ‘Char -> IO ()’ Probable cause: ‘putChar’ is applied to too few arguments In the first argument of ‘(>>)’, namely ‘putChar’ In the expression: putChar >> putChar 'p' *** Exception: ../../typecheck/should_run/Defer01.hs:11:40: Couldn't match type ‘Char’ with ‘[Char]’ Expected type: String Actual type: Char In the first argument of ‘putStr’, namely ‘','’ In the second argument of ‘(>>)’, namely ‘putStr ','’ In the expression: putStr "Hello World" >> putStr ',' (deferred type error) *** Exception: ../../typecheck/should_run/Defer01.hs:14:5: Couldn't match expected type ‘Int’ with actual type ‘Char’ In the expression: 'p' In an equation for ‘a’: a = 'p' (deferred type error) *** Exception: ../../typecheck/should_run/Defer01.hs:18:9: No instance for (Eq B) arising from a use of ‘==’ In the expression: x == x In an equation for ‘b’: b x = x == x (deferred type error) :8:11: Couldn't match type ‘Bool’ with ‘Int’ Expected type: C Int Actual type: C Bool In the first argument of ‘c’, namely ‘(C2 True)’ In the first argument of ‘print’, namely ‘(c (C2 True))’ *** Exception: ../../typecheck/should_run/Defer01.hs:28:5: No instance for (Num (a -> a)) (maybe you haven't applied enough arguments to a function?) arising from the literal ‘1’ In the expression: 1 In an equation for ‘d’: d = 1 (deferred type error) *** Exception: ../../typecheck/should_run/Defer01.hs:31:5: Couldn't match expected type ‘Char -> t’ with actual type ‘Char’ Relevant bindings include f :: t (bound at ../../typecheck/should_run/Defer01.hs:31:1) The function ‘e’ is applied to one argument, but its type ‘Char’ has none In the expression: e 'q' In an equation for ‘f’: f = e 'q' (deferred type error) *** Exception: ../../typecheck/should_run/Defer01.hs:34:8: Couldn't match expected type ‘Char’ with actual type ‘a’ ‘a’ is a rigid type variable bound by the type signature for h :: a -> (Char, Char) at ../../typecheck/should_run/Defer01.hs:33:6 Relevant bindings include x :: a (bound at ../../typecheck/should_run/Defer01.hs:34:3) h :: a -> (Char, Char) (bound at ../../typecheck/should_run/Defer01.hs:34:1) In the expression: x In the expression: (x, 'c') (deferred type error) *** Exception: ../../typecheck/should_run/Defer01.hs:39:17: Couldn't match expected type ‘Bool’ with actual type ‘T a’ Relevant bindings include a :: a (bound at ../../typecheck/should_run/Defer01.hs:39:3) i :: a -> () (bound at ../../typecheck/should_run/Defer01.hs:39:1) In the first argument of ‘not’, namely ‘(K a)’ In the expression: (not (K a)) (deferred type error) *** Exception: ../../typecheck/should_run/Defer01.hs:43:5: No instance for (MyClass a1) arising from a use of ‘myOp’ In the expression: myOp 23 In an equation for ‘j’: j = myOp 23 (deferred type error) :14:8: Couldn't match expected type ‘Bool’ with actual type ‘Int’ In the first argument of ‘print’, namely ‘(k 2)’ In the expression: print (k 2) In an equation for ‘it’: it = print (k 2) *** Exception: ../../typecheck/should_run/Defer01.hs:49:5: Couldn't match expected type ‘IO a0’ with actual type ‘Char -> IO ()’ Probable cause: ‘putChar’ is applied to too few arguments In the first argument of ‘(>>)’, namely ‘putChar’ In the expression: putChar >> putChar 'p' (deferred type error)