Commit bb296bf1 authored by Simon Peyton Jones's avatar Simon Peyton Jones

Error message wibbles, re partial type sigs

I committed three patches involving partial type sigs that
are collectively responsible for these error message changes.
The are all just changes to numbering in the pretty-printer.

I didn't bother to partition them between patches -- sorry!
parent 9dbf5f5c
TYPE SIGNATURES
arbitCs1 :: forall a. (Eq a, Enum a, Show a) => a -> String
arbitCs2 :: forall a. (Show a, Enum a, Eq a) => a -> String
arbitCs3 :: forall a. (Show a, Enum a, Eq a) => a -> String
arbitCs4 :: forall a. (Eq a, Show a, Enum a) => a -> String
arbitCs5 :: forall a. (Eq a, Enum a, Show a) => a -> String
TYPE CONSTRUCTORS
COERCION AXIOMS
Dependent modules: []
Dependent packages: [base-4.9.0.0, ghc-prim-0.5.0.0,
integer-gmp-1.0.0.1]
TYPE SIGNATURES
arbitCs1 :: forall a. (Eq a, Enum a, Show a) => a -> String
arbitCs2 :: forall a. (Show a, Enum a, Eq a) => a -> String
arbitCs3 :: forall a. (Show a, Enum a, Eq a) => a -> String
arbitCs4 :: forall a. (Eq a, Show a, Enum a) => a -> String
arbitCs5 :: forall a. (Eq a, Enum a, Show a) => a -> String
TYPE CONSTRUCTORS
COERCION AXIOMS
Dependent modules: []
Dependent packages: [base-4.9.0.0, ghc-prim-0.5.0.0,
integer-gmp-1.0.0.1]
TYPE SIGNATURES
isMeltdown :: forall param1 param2. NukeMonad param1 param2 Bool
unlessMeltdown ::
forall param1 param2.
NukeMonad param1 param2 () -> NukeMonad param1 param2 ()
TYPE CONSTRUCTORS
type role NukeMonad phantom phantom phantom
data NukeMonad a b c
COERCION AXIOMS
INSTANCES
instance Functor (NukeMonad a b) -- Defined at Meltdown.hs:8:10
instance Applicative (NukeMonad a b)
-- Defined at Meltdown.hs:11:10
instance Monad (NukeMonad a b) -- Defined at Meltdown.hs:15:10
Dependent modules: []
Dependent packages: [base-4.9.0.0, ghc-prim-0.5.0.0,
integer-gmp-1.0.0.1]
TYPE SIGNATURES
isMeltdown :: forall param1 param2. NukeMonad param1 param2 Bool
unlessMeltdown ::
forall param2 param1.
NukeMonad param1 param2 () -> NukeMonad param1 param2 ()
TYPE CONSTRUCTORS
type role NukeMonad phantom phantom phantom
data NukeMonad a b c
COERCION AXIOMS
INSTANCES
instance Functor (NukeMonad a b) -- Defined at Meltdown.hs:8:10
instance Applicative (NukeMonad a b)
-- Defined at Meltdown.hs:11:10
instance Monad (NukeMonad a b) -- Defined at Meltdown.hs:15:10
Dependent modules: []
Dependent packages: [base-4.9.0.0, ghc-prim-0.5.0.0,
integer-gmp-1.0.0.1]
TYPE SIGNATURES
foo :: forall a b. (a, b) -> (a, b)
TYPE CONSTRUCTORS
COERCION AXIOMS
Dependent modules: []
Dependent packages: [base-4.9.0.0, ghc-prim-0.5.0.0,
integer-gmp-1.0.0.1]
TYPE SIGNATURES
foo :: forall b a. (a, b) -> (a, b)
TYPE CONSTRUCTORS
COERCION AXIOMS
Dependent modules: []
Dependent packages: [base-4.9.0.0, ghc-prim-0.5.0.0,
integer-gmp-1.0.0.1]
TYPE SIGNATURES
SkipMany.GenParser ::
forall tok st a. tok -> st -> a -> GenParser tok st a
skipMany ::
forall a tok st. GenParser tok st a -> GenParser tok st ()
skipMany' ::
forall tok st a. GenParser tok st a -> GenParser tok st ()
TYPE CONSTRUCTORS
data GenParser tok st a = GenParser tok st a
COERCION AXIOMS
Dependent modules: []
Dependent packages: [base-4.9.0.0, ghc-prim-0.5.0.0,
integer-gmp-1.0.0.1]
TYPE SIGNATURES
SkipMany.GenParser ::
forall tok st a. tok -> st -> a -> GenParser tok st a
skipMany ::
forall a st tok. GenParser tok st a -> GenParser tok st ()
skipMany' ::
forall tok st a. GenParser tok st a -> GenParser tok st ()
TYPE CONSTRUCTORS
data GenParser tok st a = GenParser tok st a
COERCION AXIOMS
Dependent modules: []
Dependent packages: [base-4.9.0.0, ghc-prim-0.5.0.0,
integer-gmp-1.0.0.1]
TYPE SIGNATURES
unc :: forall t t1 t2. (t -> t1 -> t2) -> (t, t1) -> t2
TYPE CONSTRUCTORS
COERCION AXIOMS
Dependent modules: []
Dependent packages: [base-4.9.0.0, ghc-prim-0.5.0.0,
integer-gmp-1.0.0.1]
TYPE SIGNATURES
unc :: forall t t1 t2. (t2 -> t1 -> t) -> (t2, t1) -> t
TYPE CONSTRUCTORS
COERCION AXIOMS
Dependent modules: []
Dependent packages: [base-4.9.0.0, ghc-prim-0.5.0.0,
integer-gmp-1.0.0.1]
TYPE SIGNATURES
unc :: forall a b t. (a -> b -> t) -> (a, b) -> t
TYPE CONSTRUCTORS
COERCION AXIOMS
Dependent modules: []
Dependent packages: [base-4.9.0.0, ghc-prim-0.5.0.0,
integer-gmp-1.0.0.1]
TYPE SIGNATURES
unc :: forall t b a. (a -> b -> t) -> (a, b) -> t
TYPE CONSTRUCTORS
COERCION AXIOMS
Dependent modules: []
Dependent packages: [base-4.9.0.0, ghc-prim-0.5.0.0,
integer-gmp-1.0.0.1]
TYPE SIGNATURES
bar :: forall t t1. t -> (t -> t1) -> t1
foo :: forall a. (Show a, Enum a) => a -> String
TYPE CONSTRUCTORS
COERCION AXIOMS
Dependent modules: []
Dependent packages: [base-4.9.0.0, ghc-prim-0.5.0.0,
integer-gmp-1.0.0.1]
WarningWildcardInstantiations.hs:5:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
• Found type wildcard ‘_a’ standing for ‘a’
Where: ‘a’ is a rigid type variable bound by
the inferred type of foo :: (Enum a, Show a) => a -> String
at WarningWildcardInstantiations.hs:6:1
• In the type signature:
foo :: (Show _a, _) => _a -> _
• Relevant bindings include
foo :: a -> String (bound at WarningWildcardInstantiations.hs:6:1)
WarningWildcardInstantiations.hs:5:18: warning: [-Wpartial-type-signatures (in -Wdefault)]
Found constraint wildcard ‘_’ standing for ‘Enum a’
In the type signature:
foo :: (Show _a, _) => _a -> _
WarningWildcardInstantiations.hs:5:30: warning: [-Wpartial-type-signatures (in -Wdefault)]
• Found type wildcard ‘_’ standing for ‘String’
• In the type signature:
foo :: (Show _a, _) => _a -> _
• Relevant bindings include
foo :: a -> String (bound at WarningWildcardInstantiations.hs:6:1)
WarningWildcardInstantiations.hs:8:8: warning: [-Wpartial-type-signatures (in -Wdefault)]
• Found type wildcard ‘_’ standing for ‘t’
Where: ‘t’ is a rigid type variable bound by
the inferred type of bar :: t -> (t -> t1) -> t1
at WarningWildcardInstantiations.hs:9:1
• In the type signature:
bar :: _ -> _ -> _
• Relevant bindings include
bar :: t -> (t -> t1) -> t1
(bound at WarningWildcardInstantiations.hs:9:1)
WarningWildcardInstantiations.hs:8:13: warning: [-Wpartial-type-signatures (in -Wdefault)]
• Found type wildcard ‘_’ standing for ‘t -> t1’
Where: ‘t1’ is a rigid type variable bound by
the inferred type of bar :: t -> (t -> t1) -> t1
at WarningWildcardInstantiations.hs:9:1
‘t’ is a rigid type variable bound by
the inferred type of bar :: t -> (t -> t1) -> t1
at WarningWildcardInstantiations.hs:9:1
• In the type signature:
bar :: _ -> _ -> _
• Relevant bindings include
bar :: t -> (t -> t1) -> t1
(bound at WarningWildcardInstantiations.hs:9:1)
WarningWildcardInstantiations.hs:8:18: warning: [-Wpartial-type-signatures (in -Wdefault)]
• Found type wildcard ‘_’ standing for ‘t1’
Where: ‘t1’ is a rigid type variable bound by
the inferred type of bar :: t -> (t -> t1) -> t1
at WarningWildcardInstantiations.hs:9:1
• In the type signature:
bar :: _ -> _ -> _
• Relevant bindings include
bar :: t -> (t -> t1) -> t1
(bound at WarningWildcardInstantiations.hs:9:1)
TYPE SIGNATURES
bar :: forall t t1. t1 -> (t1 -> t) -> t
foo :: forall a. (Show a, Enum a) => a -> String
TYPE CONSTRUCTORS
COERCION AXIOMS
Dependent modules: []
Dependent packages: [base-4.9.0.0, ghc-prim-0.5.0.0,
integer-gmp-1.0.0.1]
WarningWildcardInstantiations.hs:5:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
• Found type wildcard ‘_a’ standing for ‘a’
Where: ‘a’ is a rigid type variable bound by
the inferred type of foo :: (Enum a, Show a) => a -> String
at WarningWildcardInstantiations.hs:6:1
• In the type signature: foo :: (Show _a, _) => _a -> _
• Relevant bindings include
foo :: a -> String (bound at WarningWildcardInstantiations.hs:6:1)
WarningWildcardInstantiations.hs:5:18: warning: [-Wpartial-type-signatures (in -Wdefault)]
Found constraint wildcard ‘_’ standing for ‘Enum a’
In the type signature: foo :: (Show _a, _) => _a -> _
WarningWildcardInstantiations.hs:5:30: warning: [-Wpartial-type-signatures (in -Wdefault)]
• Found type wildcard ‘_’ standing for ‘String’
• In the type signature: foo :: (Show _a, _) => _a -> _
• Relevant bindings include
foo :: a -> String (bound at WarningWildcardInstantiations.hs:6:1)
WarningWildcardInstantiations.hs:8:8: warning: [-Wpartial-type-signatures (in -Wdefault)]
• Found type wildcard ‘_’ standing for ‘t1’
Where: ‘t1’ is a rigid type variable bound by
the inferred type of bar :: t1 -> (t1 -> t) -> t
at WarningWildcardInstantiations.hs:9:1
• In the type signature: bar :: _ -> _ -> _
• Relevant bindings include
bar :: t1 -> (t1 -> t) -> t
(bound at WarningWildcardInstantiations.hs:9:1)
WarningWildcardInstantiations.hs:8:13: warning: [-Wpartial-type-signatures (in -Wdefault)]
• Found type wildcard ‘_’ standing for ‘t1 -> t’
Where: ‘t’ is a rigid type variable bound by
the inferred type of bar :: t1 -> (t1 -> t) -> t
at WarningWildcardInstantiations.hs:9:1
‘t1’ is a rigid type variable bound by
the inferred type of bar :: t1 -> (t1 -> t) -> t
at WarningWildcardInstantiations.hs:9:1
• In the type signature: bar :: _ -> _ -> _
• Relevant bindings include
bar :: t1 -> (t1 -> t) -> t
(bound at WarningWildcardInstantiations.hs:9:1)
WarningWildcardInstantiations.hs:8:18: warning: [-Wpartial-type-signatures (in -Wdefault)]
• Found type wildcard ‘_’ standing for ‘t’
Where: ‘t’ is a rigid type variable bound by
the inferred type of bar :: t1 -> (t1 -> t) -> t
at WarningWildcardInstantiations.hs:9:1
• In the type signature: bar :: _ -> _ -> _
• Relevant bindings include
bar :: t1 -> (t1 -> t) -> t
(bound at WarningWildcardInstantiations.hs:9:1)
NamedExtraConstraintsWildcard.hs:5:1: error:
• Could not deduce: t0
from the context: (Eq a, t)
bound by the inferred type for ‘foo’:
(Eq a, t) => a -> a
at NamedExtraConstraintsWildcard.hs:5:1-15
• In the ambiguity check for the inferred type for ‘foo’
To defer the ambiguity check to use sites, enable AllowAmbiguousTypes
When checking the inferred type
foo :: forall a (t :: Constraint). (Eq a, t) => a -> a
NamedExtraConstraintsWildcard.hs:5:1: error:
• Could not deduce: t0
from the context: (Eq a, t)
bound by the inferred type for ‘foo’:
(Eq a, t) => a -> a
at NamedExtraConstraintsWildcard.hs:5:1-15
• In the ambiguity check for the inferred type for ‘foo’
To defer the ambiguity check to use sites, enable AllowAmbiguousTypes
When checking the inferred type
foo :: forall (t :: Constraint) a. (Eq a, t) => a -> a
TidyClash.hs:8:19: error:
• Found type wildcard ‘_’ standing for ‘t’
Where: ‘t’ is a rigid type variable bound by
the inferred type of bar :: w_ -> (w_, t -> t1) at TidyClash.hs:9:1
To use the inferred type, enable PartialTypeSignatures
• In the type signature:
bar :: w_ -> (w_, _ -> _)
• Relevant bindings include
bar :: w_ -> (w_, t -> t1) (bound at TidyClash.hs:9:1)
TidyClash.hs:8:24: error:
• Found type wildcard ‘_’ standing for ‘t1’
Where: ‘t1’ is a rigid type variable bound by
the inferred type of bar :: w_ -> (w_, t -> t1) at TidyClash.hs:9:1
To use the inferred type, enable PartialTypeSignatures
• In the type signature:
bar :: w_ -> (w_, _ -> _)
• Relevant bindings include
bar :: w_ -> (w_, t -> t1) (bound at TidyClash.hs:9:1)
TidyClash.hs:8:19: error:
• Found type wildcard ‘_’ standing for ‘t1’
Where: ‘t1’ is a rigid type variable bound by
the inferred type of bar :: w_ -> (w_, t1 -> t) at TidyClash.hs:9:1
To use the inferred type, enable PartialTypeSignatures
• In the type signature: bar :: w_ -> (w_, _ -> _)
• Relevant bindings include
bar :: w_ -> (w_, t1 -> t) (bound at TidyClash.hs:9:1)
TidyClash.hs:8:24: error:
• Found type wildcard ‘_’ standing for ‘t’
Where: ‘t’ is a rigid type variable bound by
the inferred type of bar :: w_ -> (w_, t1 -> t) at TidyClash.hs:9:1
To use the inferred type, enable PartialTypeSignatures
• In the type signature: bar :: w_ -> (w_, _ -> _)
• Relevant bindings include
bar :: w_ -> (w_, t1 -> t) (bound at TidyClash.hs:9:1)
TidyClash2.hs:13:20: error:
• Found type wildcard ‘_’ standing for ‘t1’
Where: ‘t1’ is a rigid type variable bound by
the inferred type of barry :: t1 -> t2 -> t at TidyClash2.hs:14:1
To use the inferred type, enable PartialTypeSignatures
• In the type signature:
barry :: forall t. _ -> _ -> t
• Relevant bindings include
barry :: t1 -> t2 -> t (bound at TidyClash2.hs:14:1)
TidyClash2.hs:13:25: error:
• Found type wildcard ‘_’ standing for ‘t2’
Where: ‘t2’ is a rigid type variable bound by
the inferred type of barry :: t1 -> t2 -> t at TidyClash2.hs:14:1
To use the inferred type, enable PartialTypeSignatures
• In the type signature:
barry :: forall t. _ -> _ -> t
• Relevant bindings include
barry :: t1 -> t2 -> t (bound at TidyClash2.hs:14:1)
TidyClash2.hs:14:13: error:
• Found type wildcard ‘_’ standing for ‘t1’
Where: ‘t1’ is a rigid type variable bound by
the inferred type of barry :: t1 -> t2 -> t at TidyClash2.hs:14:1
To use the inferred type, enable PartialTypeSignatures
• In a pattern type signature: _
In the pattern: x :: _
In an equation for ‘barry’:
barry (x :: _) (y :: _) = undefined :: _
• Relevant bindings include
barry :: t1 -> t2 -> t (bound at TidyClash2.hs:14:1)
TidyClash2.hs:14:22: error:
• Found type wildcard ‘_’ standing for ‘t2’
Where: ‘t2’ is a rigid type variable bound by
the inferred type of barry :: t1 -> t2 -> t at TidyClash2.hs:14:1
To use the inferred type, enable PartialTypeSignatures
• In a pattern type signature: _
In the pattern: y :: _
In an equation for ‘barry’:
barry (x :: _) (y :: _) = undefined :: _
• Relevant bindings include
x :: t1 (bound at TidyClash2.hs:14:8)
barry :: t1 -> t2 -> t (bound at TidyClash2.hs:14:1)
TidyClash2.hs:14:40: error:
• Found type wildcard ‘_’ standing for ‘t3’
Where: ‘t3’ is a rigid type variable bound by
the inferred type of <expression> :: t3 at TidyClash2.hs:14:27
To use the inferred type, enable PartialTypeSignatures
• In an expression type signature: _
In the expression: undefined :: _
In an equation for ‘barry’:
barry (x :: _) (y :: _) = undefined :: _
• Relevant bindings include
y :: t2 (bound at TidyClash2.hs:14:17)
x :: t1 (bound at TidyClash2.hs:14:8)
barry :: t1 -> t2 -> t (bound at TidyClash2.hs:14:1)
TidyClash2.hs:13:20: error:
• Found type wildcard ‘_’ standing for ‘t2’
Where: ‘t2’ is a rigid type variable bound by
the inferred type of barry :: t2 -> t1 -> t at TidyClash2.hs:14:1
To use the inferred type, enable PartialTypeSignatures
• In the type signature: barry :: forall t. _ -> _ -> t
• Relevant bindings include
barry :: t2 -> t1 -> t (bound at TidyClash2.hs:14:1)
TidyClash2.hs:13:25: error:
• Found type wildcard ‘_’ standing for ‘t1’
Where: ‘t1’ is a rigid type variable bound by
the inferred type of barry :: t2 -> t1 -> t at TidyClash2.hs:14:1
To use the inferred type, enable PartialTypeSignatures
• In the type signature: barry :: forall t. _ -> _ -> t
• Relevant bindings include
barry :: t2 -> t1 -> t (bound at TidyClash2.hs:14:1)
TidyClash2.hs:14:13: error:
• Found type wildcard ‘_’ standing for ‘t2’
Where: ‘t2’ is a rigid type variable bound by
the inferred type of barry :: t2 -> t1 -> t at TidyClash2.hs:14:1
To use the inferred type, enable PartialTypeSignatures
• In a pattern type signature: _
In the pattern: x :: _
In an equation for ‘barry’:
barry (x :: _) (y :: _) = undefined :: _
• Relevant bindings include
barry :: t2 -> t1 -> t (bound at TidyClash2.hs:14:1)
TidyClash2.hs:14:22: error:
• Found type wildcard ‘_’ standing for ‘t1’
Where: ‘t1’ is a rigid type variable bound by
the inferred type of barry :: t2 -> t1 -> t at TidyClash2.hs:14:1
To use the inferred type, enable PartialTypeSignatures
• In a pattern type signature: _
In the pattern: y :: _
In an equation for ‘barry’:
barry (x :: _) (y :: _) = undefined :: _
• Relevant bindings include
x :: t2 (bound at TidyClash2.hs:14:8)
barry :: t2 -> t1 -> t (bound at TidyClash2.hs:14:1)
TidyClash2.hs:14:40: error:
• Found type wildcard ‘_’ standing for ‘t3’
Where: ‘t3’ is a rigid type variable bound by
the inferred type of <expression> :: t3 at TidyClash2.hs:14:27
To use the inferred type, enable PartialTypeSignatures
• In an expression type signature: _
In the expression: undefined :: _
In an equation for ‘barry’:
barry (x :: _) (y :: _) = undefined :: _
• Relevant bindings include
y :: t1 (bound at TidyClash2.hs:14:17)
x :: t2 (bound at TidyClash2.hs:14:8)
barry :: t2 -> t1 -> t (bound at TidyClash2.hs:14:1)
WildcardInstantiations.hs:5:14: error:
• Found type wildcard ‘_a’ standing for ‘a’
Where: ‘a’ is a rigid type variable bound by
the inferred type of foo :: (Enum a, Show a) => a -> String
at WildcardInstantiations.hs:6:1
To use the inferred type, enable PartialTypeSignatures
• In the type signature:
foo :: (Show _a, _) => _a -> _
• Relevant bindings include
foo :: a -> String (bound at WildcardInstantiations.hs:6:1)
WildcardInstantiations.hs:5:18: error:
Found constraint wildcard ‘_’ standing for ‘Enum a’
To use the inferred type, enable PartialTypeSignatures
In the type signature:
foo :: (Show _a, _) => _a -> _
WildcardInstantiations.hs:5:30: error:
• Found type wildcard ‘_’ standing for ‘String’
To use the inferred type, enable PartialTypeSignatures
• In the type signature:
foo :: (Show _a, _) => _a -> _
• Relevant bindings include
foo :: a -> String (bound at WildcardInstantiations.hs:6:1)
WildcardInstantiations.hs:8:8: error:
• Found type wildcard ‘_’ standing for ‘t’
Where: ‘t’ is a rigid type variable bound by
the inferred type of bar :: t -> (t -> t1) -> t1
at WildcardInstantiations.hs:9:1
To use the inferred type, enable PartialTypeSignatures
• In the type signature:
bar :: _ -> _ -> _
• Relevant bindings include
bar :: t -> (t -> t1) -> t1
(bound at WildcardInstantiations.hs:9:1)
WildcardInstantiations.hs:8:13: error:
• Found type wildcard ‘_’ standing for ‘t -> t1’
Where: ‘t1’ is a rigid type variable bound by
the inferred type of bar :: t -> (t -> t1) -> t1
at WildcardInstantiations.hs:9:1
‘t’ is a rigid type variable bound by
the inferred type of bar :: t -> (t -> t1) -> t1
at WildcardInstantiations.hs:9:1
To use the inferred type, enable PartialTypeSignatures
• In the type signature:
bar :: _ -> _ -> _
• Relevant bindings include
bar :: t -> (t -> t1) -> t1
(bound at WildcardInstantiations.hs:9:1)
WildcardInstantiations.hs:8:18: error:
• Found type wildcard ‘_’ standing for ‘t1’
Where: ‘t1’ is a rigid type variable bound by
the inferred type of bar :: t -> (t -> t1) -> t1
at WildcardInstantiations.hs:9:1
To use the inferred type, enable PartialTypeSignatures
• In the type signature:
bar :: _ -> _ -> _
• Relevant bindings include
bar :: t -> (t -> t1) -> t1
(bound at WildcardInstantiations.hs:9:1)
WildcardInstantiations.hs:5:14: error:
• Found type wildcard ‘_a’ standing for ‘a’
Where: ‘a’ is a rigid type variable bound by
the inferred type of foo :: (Enum a, Show a) => a -> String
at WildcardInstantiations.hs:6:1
To use the inferred type, enable PartialTypeSignatures
• In the type signature: foo :: (Show _a, _) => _a -> _
• Relevant bindings include
foo :: a -> String (bound at WildcardInstantiations.hs:6:1)
WildcardInstantiations.hs:5:18: error:
Found constraint wildcard ‘_’ standing for ‘Enum a’
To use the inferred type, enable PartialTypeSignatures
In the type signature: foo :: (Show _a, _) => _a -> _
WildcardInstantiations.hs:5:30: error:
• Found type wildcard ‘_’ standing for ‘String’
To use the inferred type, enable PartialTypeSignatures
• In the type signature: foo :: (Show _a, _) => _a -> _
• Relevant bindings include
foo :: a -> String (bound at WildcardInstantiations.hs:6:1)
WildcardInstantiations.hs:8:8: error:
• Found type wildcard ‘_’ standing for ‘t1’
Where: ‘t1’ is a rigid type variable bound by
the inferred type of bar :: t1 -> (t1 -> t) -> t
at WildcardInstantiations.hs:9:1
To use the inferred type, enable PartialTypeSignatures
• In the type signature: bar :: _ -> _ -> _
• Relevant bindings include
bar :: t1 -> (t1 -> t) -> t
(bound at WildcardInstantiations.hs:9:1)
WildcardInstantiations.hs:8:13: error:
• Found type wildcard ‘_’ standing for ‘t1 -> t’
Where: ‘t’ is a rigid type variable bound by
the inferred type of bar :: t1 -> (t1 -> t) -> t
at WildcardInstantiations.hs:9:1
‘t1’ is a rigid type variable bound by
the inferred type of bar :: t1 -> (t1 -> t) -> t
at WildcardInstantiations.hs:9:1
To use the inferred type, enable PartialTypeSignatures
• In the type signature: bar :: _ -> _ -> _
• Relevant bindings include
bar :: t1 -> (t1 -> t) -> t
(bound at WildcardInstantiations.hs:9:1)
WildcardInstantiations.hs:8:18: error:
• Found type wildcard ‘_’ standing for ‘t’
Where: ‘t’ is a rigid type variable bound by
the inferred type of bar :: t1 -> (t1 -> t) -> t
at WildcardInstantiations.hs:9:1
To use the inferred type, enable PartialTypeSignatures
• In the type signature: bar :: _ -> _ -> _
• Relevant bindings include
bar :: t1 -> (t1 -> t) -> t
(bound at WildcardInstantiations.hs:9:1)
tcfail198.hs:6:36: error:
• Couldn't match expected type ‘a2’ with actual type ‘a’
because type variable ‘a2’ would escape its scope
This (rigid, skolem) type variable is bound by
an expression type signature:
a2
at tcfail198.hs:6:36-41
• In the expression: x :: a
In the second argument of ‘(++)’, namely ‘[x :: a]’
In the expression: xs ++ [x :: a]
• Relevant bindings include
xs :: [a] (bound at tcfail198.hs:6:21)
x :: a (bound at tcfail198.hs:6:19)
f3 :: [a] -> [a] (bound at tcfail198.hs:6:6)
tcfail198.hs:6:36: error:
• Couldn't match expected type ‘a1’ with actual type ‘a’
because type variable ‘a1’ would escape its scope
This (rigid, skolem) type variable is bound by
an expression type signature:
a1
at tcfail198.hs:6:36-41
• In the expression: x :: a
In the second argument of ‘(++)’, namely ‘[x :: a]’
In the expression: xs ++ [x :: a]
• Relevant bindings include
xs :: [a] (bound at tcfail198.hs:6:21)
x :: a (bound at tcfail198.hs:6:19)
f3 :: [a] -> [a] (bound at tcfail198.hs:6:6)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment