Commit c897613b authored by Simon Peyton Jones's avatar Simon Peyton Jones
Browse files

Error msg wibbles from reduced module prefixes

parent 547c5971
annfail05.hs:11:1:
No instance for (Data.Data.Data NoInstances)
arising from an annotation
In the annotation: {-# ANN f NoInstances #-}
annfail05.hs:11:1:
No instance for (Data NoInstances) arising from an annotation
In the annotation: {-# ANN f NoInstances #-}
annfail08.hs:9:1:
No instance for (Data.Data.Data (a0 -> a0))
No instance for (Data (a0 -> a0))
(maybe you haven't applied a function to enough arguments?)
arising from an annotation
In the annotation: {-# ANN f (id + 1) #-}
......
annfail10.hs:9:1:
No instance for (Data.Data.Data a0) arising from an annotation
The type variable ‘a0’ is ambiguous
Note: there are several potential instances:
instance (Data.Data.Data a, Data.Data.Data b) =>
Data.Data.Data (Either a b)
-- Defined in ‘Data.Data’
instance Data.Data.Data Data.Monoid.All -- Defined in ‘Data.Data’
instance (Data.Data.Data (f a), Data.Data.Data a,
Data.Typeable.Internal.Typeable f) =>
Data.Data.Data (Data.Monoid.Alt f a)
-- Defined in ‘Data.Data’
...plus 39 others
In the annotation: {-# ANN f 1 #-}
annfail10.hs:9:11:
No instance for (Num a0) arising from the literal ‘1’
The type variable ‘a0’ is ambiguous
Note: there are several potential instances:
instance forall (k :: BOX) (f :: k -> *) (a :: k).
Num (f a) =>
Num (Data.Monoid.Alt f a)
-- Defined in ‘Data.Monoid’
instance Num a => Num (Data.Monoid.Product a)
-- Defined in ‘Data.Monoid’
instance Num a => Num (Data.Monoid.Sum a)
-- Defined in ‘Data.Monoid’
...plus 14 others
In the annotation: {-# ANN f 1 #-}
annfail10.hs:9:1:
No instance for (Data a0) arising from an annotation
The type variable ‘a0’ is ambiguous
Note: there are several potential instances:
instance (Data a, Data b) => Data (Either a b)
-- Defined in ‘Data.Data’
instance Data All -- Defined in ‘Data.Data’
instance (Data (f a), Data a, Typeable f) => Data (Alt f a)
-- Defined in ‘Data.Data’
...plus 39 others
In the annotation: {-# ANN f 1 #-}
annfail10.hs:9:11:
No instance for (Num a0) arising from the literal ‘1’
The type variable ‘a0’ is ambiguous
Note: there are several potential instances:
instance forall (k :: BOX) (f :: k -> *) (a :: k).
Num (f a) =>
Num (Alt f a)
-- Defined in ‘Data.Monoid’
instance Num a => Num (Product a) -- Defined in ‘Data.Monoid’
instance Num a => Num (Sum a) -- Defined in ‘Data.Monoid’
...plus 14 others
In the annotation: {-# ANN f 1 #-}
......@@ -5,10 +5,9 @@ T4846.hs:29:1:
‘Expr Bool’ and
‘Expr BOOL’ are the same
Relevant role signatures: type role Expr nominal
In the expression:
GHC.Prim.coerce (mkExpr :: Expr Bool) :: Expr BOOL
In the expression: coerce (mkExpr :: Expr Bool) :: Expr BOOL
In an equation for ‘mkExpr’:
mkExpr = GHC.Prim.coerce (mkExpr :: Expr Bool) :: Expr BOOL
mkExpr = coerce (mkExpr :: Expr Bool) :: Expr BOOL
When typechecking the code for ‘mkExpr’
in a derived instance for ‘B BOOL’:
To see the code I am typechecking, use -ddump-deriv
......
<interactive>:6:1:
No instance for (Show t1) arising from a use of ‘print’
Cannot resolve unknown runtime type ‘t1’
Use :print or :force to determine these types
Relevant bindings include it :: t1 (bound at <interactive>:6:1)
Note: there are several potential instances:
instance (Show a, Show b) => Show (Either a b)
-- Defined in ‘Data.Either’
instance Show Data.Monoid.All -- Defined in ‘Data.Monoid’
instance forall (k :: BOX) (f :: k -> *) (a :: k).
Show (f a) =>
Show (Data.Monoid.Alt f a)
-- Defined in ‘Data.Monoid’
...plus 33 others
In a stmt of an interactive GHCi command: print it
<interactive>:8:1:
No instance for (Show t1) arising from a use of ‘print’
Cannot resolve unknown runtime type ‘t1’
Use :print or :force to determine these types
Relevant bindings include it :: t1 (bound at <interactive>:8:1)
Note: there are several potential instances:
instance (Show a, Show b) => Show (Either a b)
-- Defined in ‘Data.Either’
instance Show Data.Monoid.All -- Defined in ‘Data.Monoid’
instance forall (k :: BOX) (f :: k -> *) (a :: k).
Show (f a) =>
Show (Data.Monoid.Alt f a)
-- Defined in ‘Data.Monoid’
...plus 33 others
In a stmt of an interactive GHCi command: print it
<interactive>:6:1:
No instance for (Show t1) arising from a use of ‘print’
Cannot resolve unknown runtime type ‘t1’
Use :print or :force to determine these types
Relevant bindings include it :: t1 (bound at <interactive>:6:1)
Note: there are several potential instances:
instance (Show a, Show b) => Show (Either a b)
-- Defined in ‘Data.Either’
instance Show All -- Defined in ‘Data.Monoid’
instance forall (k :: BOX) (f :: k -> *) (a :: k).
Show (f a) =>
Show (Alt f a)
-- Defined in ‘Data.Monoid’
...plus 33 others
In a stmt of an interactive GHCi command: print it
<interactive>:8:1:
No instance for (Show t1) arising from a use of ‘print’
Cannot resolve unknown runtime type ‘t1’
Use :print or :force to determine these types
Relevant bindings include it :: t1 (bound at <interactive>:8:1)
Note: there are several potential instances:
instance (Show a, Show b) => Show (Either a b)
-- Defined in ‘Data.Either’
instance Show All -- Defined in ‘Data.Monoid’
instance forall (k :: BOX) (f :: k -> *) (a :: k).
Show (f a) =>
Show (Alt f a)
-- Defined in ‘Data.Monoid’
...plus 33 others
In a stmt of an interactive GHCi command: print it
Left user error (error)
Stopped at <exception thrown>
_exception :: e = _
_exception = SomeException
(GHC.IO.Exception.IOError
Nothing GHC.IO.Exception.UserError [] "error" Nothing Nothing)
*** Exception: user error (error)
Stopped at <exception thrown>
_exception :: e = _
_exception = SomeException
(GHC.IO.Exception.IOError
Nothing GHC.IO.Exception.UserError [] "error" Nothing Nothing)
*** Exception: user error (error)
Stopped at <exception thrown>
_exception :: e = _
_exception = SomeException
(GHC.IO.Exception.IOError
Nothing GHC.IO.Exception.UserError [] "error" Nothing Nothing)
Left user error (error)
Left user error (error)
Stopped at <exception thrown>
_exception :: e = _
_exception = SomeException
(IOError Nothing UserError [] "error" Nothing Nothing)
*** Exception: user error (error)
Stopped at <exception thrown>
_exception :: e = _
_exception = SomeException
(IOError Nothing UserError [] "error" Nothing Nothing)
*** Exception: user error (error)
Stopped at <exception thrown>
_exception :: e = _
_exception = SomeException
(IOError Nothing UserError [] "error" Nothing Nothing)
Left user error (error)
fromList "abc"
l = Data.Sequence.Seq (Data.Sequence.Deep
3 (Data.Sequence.One (Data.Sequence.Elem 'a')) Data.Sequence.Empty
(Data.Sequence.Two
(Data.Sequence.Elem 'b') (Data.Sequence.Elem 'c')))
l = fromList "abc"
fromList "abc"
l = Data.Sequence.Seq (Data.Sequence.Deep
3 (Data.Sequence.One (Data.Sequence.Elem 'a')) Data.Sequence.Empty
(Data.Sequence.Two
(Data.Sequence.Elem 'b') (Data.Sequence.Elem 'c')))
l = fromList "abc"
l = (_t1::[Maybe Integer])
Just 1
r = GHC.IORef.IORef (GHC.STRef.STRef
(GHC.Prim.MutVar# (Just 1 : (_t2::[Maybe Integer]))))
r = GHC.IORef.IORef (GHC.STRef.STRef
(GHC.Prim.MutVar# (Just 1 : _)))
l = (_t1::[Maybe Integer])
Just 1
r = IORef (STRef
(GHC.Prim.MutVar# (Just 1 : (_t2::[Maybe Integer]))))
r = IORef (STRef (GHC.Prim.MutVar# (Just 1 : _)))
<interactive>:8:1:
No instance for (GHC.Show.Show Float)
arising from a use of ‘System.IO.print’
In a stmt of an interactive GHCi command: System.IO.print it
<interactive>:16:1:
No instance for (GHC.Show.Show Float)
arising from a use of ‘System.IO.print’
In a stmt of an interactive GHCi command: System.IO.print it
<interactive>:8:1:
No instance for (Show Float) arising from a use of ‘print’
In a stmt of an interactive GHCi command: print it
<interactive>:16:1:
No instance for (Show Float) arising from a use of ‘print’
In a stmt of an interactive GHCi command: print it
data B1 a = B1 a
data instance C.F (B1 a) = B2 a
type role D nominal
data family D a
class C.C1 a where
type role C.F nominal
data family C.F a
-- Defined at T5417a.hs:5:5
data instance C.F (B1 a) = B2 a -- Defined at T5417.hs:8:10
data B1 a = B1 a
data instance C.F (B1 a) = B2 a
type role D nominal
data family D a
class C.C1 a where
type role C.F nominal
data family C.F a
-- Defined at T5417a.hs:5:5
data instance C.F (B1 a) = B2 a -- Defined at T5417.hs:8:10
data Int = GHC.Types.I# GHC.Prim.Int# -- Defined in ‘GHC.Types’
instance Bounded Int -- Defined in ‘GHC.Enum’
instance Enum Int -- Defined in ‘GHC.Enum’
instance Eq Int -- Defined in ‘GHC.Classes’
instance Integral Int -- Defined in ‘GHC.Real’
instance Num Int -- Defined in ‘GHC.Num’
instance Ord Int -- Defined in ‘GHC.Classes’
instance Read Int -- Defined in ‘GHC.Read’
instance Real Int -- Defined in ‘GHC.Real’
instance Show Int -- Defined in ‘GHC.Show’
data Int = I# Int# -- Defined in ‘GHC.Types’
instance Bounded Int -- Defined in ‘GHC.Enum’
instance Enum Int -- Defined in ‘GHC.Enum’
instance Eq Int -- Defined in ‘GHC.Classes’
instance Integral Int -- Defined in ‘GHC.Real’
instance Num Int -- Defined in ‘GHC.Num’
instance Ord Int -- Defined in ‘GHC.Classes’
instance Read Int -- Defined in ‘GHC.Read’
instance Real Int -- Defined in ‘GHC.Real’
instance Show Int -- Defined in ‘GHC.Show’
type family (GHC.TypeLits.*) (a :: GHC.TypeLits.Nat)
(b :: GHC.TypeLits.Nat) ::
GHC.TypeLits.Nat
type family (GHC.TypeLits.+) (a :: GHC.TypeLits.Nat)
(b :: GHC.TypeLits.Nat) ::
GHC.TypeLits.Nat
type family (GHC.TypeLits.-) (a :: GHC.TypeLits.Nat)
(b :: GHC.TypeLits.Nat) ::
GHC.TypeLits.Nat
type (GHC.TypeLits.<=) (x :: GHC.TypeLits.Nat)
(y :: GHC.TypeLits.Nat) =
(x GHC.TypeLits.<=? y) ~ 'True
type family (GHC.TypeLits.<=?) (a :: GHC.TypeLits.Nat)
(b :: GHC.TypeLits.Nat) ::
Bool
type family GHC.TypeLits.CmpNat (a :: GHC.TypeLits.Nat)
(b :: GHC.TypeLits.Nat) ::
Ordering
type family GHC.TypeLits.CmpSymbol (a :: GHC.TypeLits.Symbol)
(b :: GHC.TypeLits.Symbol) ::
Ordering
class GHC.TypeLits.KnownNat (n :: GHC.TypeLits.Nat) where
GHC.TypeLits.natSing :: GHC.TypeLits.SNat n
class GHC.TypeLits.KnownSymbol (n :: GHC.TypeLits.Symbol) where
GHC.TypeLits.symbolSing :: GHC.TypeLits.SSymbol n
data GHC.TypeLits.Nat
data GHC.TypeLits.SomeNat where
GHC.TypeLits.SomeNat :: GHC.TypeLits.KnownNat n =>
(Data.Proxy.Proxy n) -> GHC.TypeLits.SomeNat
data GHC.TypeLits.SomeSymbol where
GHC.TypeLits.SomeSymbol :: GHC.TypeLits.KnownSymbol n =>
(Data.Proxy.Proxy n) -> GHC.TypeLits.SomeSymbol
data GHC.TypeLits.Symbol
type family (GHC.TypeLits.^) (a :: GHC.TypeLits.Nat)
(b :: GHC.TypeLits.Nat) ::
GHC.TypeLits.Nat
GHC.TypeLits.natVal ::
GHC.TypeLits.KnownNat n => proxy n -> Integer
GHC.TypeLits.natVal' ::
GHC.TypeLits.KnownNat n => GHC.Prim.Proxy# n -> Integer
GHC.TypeLits.sameNat ::
(GHC.TypeLits.KnownNat a, GHC.TypeLits.KnownNat b) =>
Data.Proxy.Proxy a
-> Data.Proxy.Proxy b -> Maybe (a Data.Type.Equality.:~: b)
GHC.TypeLits.sameSymbol ::
(GHC.TypeLits.KnownSymbol a, GHC.TypeLits.KnownSymbol b) =>
Data.Proxy.Proxy a
-> Data.Proxy.Proxy b -> Maybe (a Data.Type.Equality.:~: b)
GHC.TypeLits.someNatVal :: Integer -> Maybe GHC.TypeLits.SomeNat
GHC.TypeLits.someSymbolVal :: String -> GHC.TypeLits.SomeSymbol
GHC.TypeLits.symbolVal ::
GHC.TypeLits.KnownSymbol n => proxy n -> String
GHC.TypeLits.symbolVal' ::
GHC.TypeLits.KnownSymbol n => GHC.Prim.Proxy# n -> String
type family (*) (a :: Nat) (b :: Nat) :: Nat
type family (+) (a :: Nat) (b :: Nat) :: Nat
type family (-) (a :: Nat) (b :: Nat) :: Nat
type (<=) (x :: Nat) (y :: Nat) = (x <=? y) ~ 'True
type family (<=?) (a :: Nat) (b :: Nat) :: Bool
type family CmpNat (a :: Nat) (b :: Nat) :: Ordering
type family CmpSymbol (a :: Symbol) (b :: Symbol) :: Ordering
class KnownNat (n :: Nat) where
natSing :: SNat n
class KnownSymbol (n :: Symbol) where
symbolSing :: SSymbol n
data Nat
data SomeNat where
SomeNat :: KnownNat n => (Proxy n) -> SomeNat
data SomeSymbol where
SomeSymbol :: KnownSymbol n => (Proxy n) -> SomeSymbol
data Symbol
type family (^) (a :: Nat) (b :: Nat) :: Nat
natVal :: KnownNat n => proxy n -> Integer
natVal' :: KnownNat n => Proxy# n -> Integer
sameNat ::
(KnownNat a, KnownNat b) => Proxy a -> Proxy b -> Maybe (a :~: b)
sameSymbol ::
(KnownSymbol a, KnownSymbol b) =>
Proxy a -> Proxy b -> Maybe (a :~: b)
someNatVal :: Integer -> Maybe SomeNat
someSymbolVal :: String -> SomeSymbol
symbolVal :: KnownSymbol n => proxy n -> String
symbolVal' :: KnownSymbol n => Proxy# n -> String
data Data.ByteString.Lazy.ByteString
= Data.ByteString.Lazy.Internal.Empty
| Data.ByteString.Lazy.Internal.Chunk {-# UNPACK #-}Data.ByteString.ByteString
Data.ByteString.Lazy.ByteString
-- Defined in ‘Data.ByteString.Lazy.Internal’
instance Eq Data.ByteString.Lazy.ByteString
-- Defined in ‘Data.ByteString.Lazy.Internal’
instance Ord Data.ByteString.Lazy.ByteString
-- Defined in ‘Data.ByteString.Lazy.Internal’
instance Read Data.ByteString.Lazy.ByteString
-- Defined in ‘Data.ByteString.Lazy.Internal’
instance Show Data.ByteString.Lazy.ByteString
-- Defined in ‘Data.ByteString.Lazy.Internal’
instance Monoid Data.ByteString.Lazy.ByteString
-- Defined in ‘Data.ByteString.Lazy.Internal’
data Data.ByteString.ByteString
= Data.ByteString.Internal.PS {-# UNPACK #-}(GHC.ForeignPtr.ForeignPtr
GHC.Word.Word8)
{-# UNPACK #-}Int
{-# UNPACK #-}Int
-- Defined in ‘Data.ByteString.Internal’
instance Eq Data.ByteString.ByteString
-- Defined in ‘Data.ByteString.Internal’
instance Ord Data.ByteString.ByteString
-- Defined in ‘Data.ByteString.Internal’
instance Read Data.ByteString.ByteString
-- Defined in ‘Data.ByteString.Internal’
instance Show Data.ByteString.ByteString
-- Defined in ‘Data.ByteString.Internal’
instance Monoid Data.ByteString.ByteString
-- Defined in ‘Data.ByteString.Internal’
data Data.ByteString.Lazy.ByteString
= Data.ByteString.Lazy.Internal.Empty
| Data.ByteString.Lazy.Internal.Chunk {-# UNPACK #-}Data.ByteString.ByteString
Data.ByteString.Lazy.ByteString
-- Defined in ‘Data.ByteString.Lazy.Internal’
instance Eq Data.ByteString.Lazy.ByteString
-- Defined in ‘Data.ByteString.Lazy.Internal’
instance Ord Data.ByteString.Lazy.ByteString
-- Defined in ‘Data.ByteString.Lazy.Internal’
instance Read Data.ByteString.Lazy.ByteString
-- Defined in ‘Data.ByteString.Lazy.Internal’
instance Show Data.ByteString.Lazy.ByteString
-- Defined in ‘Data.ByteString.Lazy.Internal’
instance Monoid Data.ByteString.Lazy.ByteString
-- Defined in ‘Data.ByteString.Lazy.Internal’
data Data.ByteString.ByteString
= Data.ByteString.Internal.PS {-# UNPACK #-}(ForeignPtr Word8)
{-# UNPACK #-}Int
{-# UNPACK #-}Int
-- Defined in ‘Data.ByteString.Internal’
instance Eq Data.ByteString.ByteString
-- Defined in ‘Data.ByteString.Internal’
instance Ord Data.ByteString.ByteString
-- Defined in ‘Data.ByteString.Internal’
instance Read Data.ByteString.ByteString
-- Defined in ‘Data.ByteString.Internal’
instance Show Data.ByteString.ByteString
-- Defined in ‘Data.ByteString.Internal’
instance Monoid Data.ByteString.ByteString
-- Defined in ‘Data.ByteString.Internal’
class Num a where
(+) :: a -> a -> a
...
-- Defined in ‘GHC.Num’
infixl 6 +
class Num a where
(+) :: a -> a -> a
...
-- Defined in ‘GHC.Num’
infixl 6 +
data Data.Complex.Complex a = !a Data.Complex.:+ !a
-- Defined in ‘Data.Complex’
infix 6 Data.Complex.:+
data Data.Complex.Complex a = !a Data.Complex.:+ !a
-- Defined in ‘Data.Complex’
infix 6 Data.Complex.:+
class (RealFrac a, Floating a) => RealFloat a where
floatRadix :: a -> Integer
floatDigits :: a -> Int
floatRange :: a -> (Int, Int)
decodeFloat :: a -> (Integer, Int)
encodeFloat :: Integer -> Int -> a
exponent :: a -> Int
significand :: a -> a
scaleFloat :: Int -> a -> a
isNaN :: a -> Bool
isInfinite :: a -> Bool
isDenormalized :: a -> Bool
isNegativeZero :: a -> Bool
isIEEE :: a -> Bool
atan2 :: a -> a -> a
-- Defined in ‘GHC.Float’
instance RealFloat Float -- Defined in ‘GHC.Float’
instance RealFloat Double -- Defined in ‘GHC.Float’
base-4.8.1.0:Data.OldList.isPrefixOf :: Eq a => [a] -> [a] -> Bool
-- Defined in ‘base-4.8.1.0:Data.OldList’
class Num a where
(+) :: a -> a -> a
...
-- Defined in ‘GHC.Num’
infixl 6 +
class Num a where
(+) :: a -> a -> a
...
-- Defined in ‘GHC.Num’
infixl 6 +
data Complex a = !a :+ !a -- Defined in ‘Data.Complex’
infix 6 :+
data Complex a = !a :+ !a -- Defined in ‘Data.Complex’
infix 6 :+
class (RealFrac a, Floating a) => RealFloat a where
floatRadix :: a -> Integer
floatDigits :: a -> Int
floatRange :: a -> (Int, Int)
decodeFloat :: a -> (Integer, Int)
encodeFloat :: Integer -> Int -> a
exponent :: a -> Int
significand :: a -> a
scaleFloat :: Int -> a -> a
isNaN :: a -> Bool
isInfinite :: a -> Bool
isDenormalized :: a -> Bool
isNegativeZero :: a -> Bool
isIEEE :: a -> Bool
atan2 :: a -> a -> a
-- Defined in ‘GHC.Float’
instance RealFloat Float -- Defined in ‘GHC.Float’
instance RealFloat Double -- Defined in ‘GHC.Float’
isPrefixOf :: Eq a => [a] -> [a] -> Bool
-- Defined in ‘base-4.8.1.0:Data.OldList’
ghci019.hs:9:10: Warning:
No explicit implementation for
either ‘Prelude.==’ or ‘Prelude./=’
In the instance declaration for ‘Prelude.Eq Foo’
ghci019.hs:9:10: Warning:
No explicit implementation for
either ‘==’ or ‘/=’
In the instance declaration for ‘Eq Foo’
data Foo = Foo -- Defined at ghci019.hs:8:1
instance Prelude.Eq Foo -- Defined at ghci019.hs:9:10
data Foo = Foo -- Defined at ghci019.hs:8:1
instance Eq Foo -- Defined at ghci019.hs:9:10
-- testing ghci multiline commands :{ .. :}
-- via stdin
(1,2,3)
Data.Maybe.catMaybes :: [Maybe a] -> [a]
Data.Maybe.fromJust :: Maybe a -> a
Data.Maybe.fromMaybe :: a -> Maybe a -> a
Data.Maybe.isJust :: Maybe a -> Bool
Data.Maybe.isNothing :: Maybe a -> Bool
Data.Maybe.listToMaybe :: [a] -> Maybe a
Data.Maybe.mapMaybe :: (a -> Maybe b) -> [a] -> [b]
maybe :: b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybeToList :: Maybe a -> [a]
data Maybe a = Nothing | Just a
-- via readFile
(True,False)
id :: a -> a
-- testing ghci multiline commands :{ .. :}
-- via stdin
(1,2,3)
catMaybes :: [Maybe a] -> [a]
fromJust :: Maybe a -> a
fromMaybe :: a -> Maybe a -> a
isJust :: Maybe a -> Bool
isNothing :: Maybe a -> Bool
listToMaybe :: [a] -> Maybe a
mapMaybe :: (a -> Maybe b) -> [a] -> [b]
maybe :: b -> (a -> b) -> Maybe a -> b
maybeToList :: Maybe a -> [a]
data Maybe a = Nothing | Just a
-- via readFile
(True,False)
id :: a -> a
-- test :browse! functionality
:browse! *T
-- defined locally
T.length :: T.Integer
class N a
class S a
class C a b where
c1 :: N b => a -> b
c2 :: (N b, S b) => a -> b
c3 :: a1 -> b
c4 :: a1 -> b
c1 :: (C a b, N b) => a -> b
c2 :: (C a b, N b, S b) => a -> b
c3 :: C a b => forall a. a -> b
c4 :: C a b => forall a1. a1 -> b
-- imported via Control.Monad
class (GHC.Base.Alternative m, Monad m) =>
MonadPlus (m :: * -> *) where
mzero :: m a
mplus :: m a -> m a -> m a
mplus :: MonadPlus m => forall a. m a -> m a -> m a
mzero :: MonadPlus m => forall a. m a
-- imported via Control.Monad, Prelude
(>>) :: Monad m => forall a b. m a -> m b -> m b
(>>=) :: Monad m => forall a b. m a -> (a -> m b) -> m b
fail :: Monad m => forall a. GHC.Base.String -> m a
return :: Monad m => forall a. a -> m a
-- imported via Control.Monad, Prelude, T
class GHC.Base.Applicative m => Monad (m :: * -> *) where
(>>=) :: m a -> (a -> m b) -> m b
(>>) :: m a -> m b -> m b
return :: a -> m a
fail :: GHC.Base.String -> m a
-- imported via Data.Maybe
catMaybes :: [Maybe a] -> [a]
fromJust :: Maybe a -> a
fromMaybe :: a -> Maybe a -> a
isJust :: Maybe a -> GHC.Types.Bool
isNothing :: Maybe a -> GHC.Types.Bool
listToMaybe :: [a] -> Maybe a
mapMaybe :: (a -> Maybe b) -> [a] -> [b]
maybe :: b -> (a -> b) -> Maybe a -> b
maybeToList :: Maybe a -> [a]
-- imported via Data.Maybe, Prelude
Just :: a -> Maybe a
data Maybe a = Nothing | Just a
Nothing :: Maybe a
-- imported via Prelude
(+) :: GHC.Num.Num a => a -> a -> a
(=<<) :: Monad m => (a -> m b) -> m a -> m b
class Eq a where
(GHC.Classes.==) :: a -> a -> GHC.Types.Bool
(GHC.Classes./=) :: a -> a -> GHC.Types.Bool
-- imported via Prelude, T
Prelude.length ::
Data.Foldable.Foldable t => forall a. t a -> GHC.Types.Int
-- imported via T
data T.Integer
= integer-gmp-1.0.0.0:GHC.Integer.Type.S# !GHC.Prim.Int#
| integer-gmp-1.0.0.0:GHC.Integer.Type.Jp# {-# UNPACK #-}integer-gmp-1.0.0.0:GHC.Integer.Type.BigNat
| integer-gmp-1.0.0.0:GHC.Integer.Type.Jn# {-# UNPACK #-}integer-gmp-1.0.0.0:GHC.Integer.Type.BigNat
T.length :: Data.ByteString.Internal.ByteString -> GHC.Types.Int
:browse! T
-- defined locally
T.length :: T.Integer
class N a
class S a
class C a b where
c1 :: N b => a -> b
c2 :: (N b, S b) => a -> b
c3 :: a1 -> b
c4 :: a1 -> b
c1 :: (C a b, N b) => a -> b
c2 :: (C a b, N b, S b) => a -> b
c3 :: C a b => forall a. a -> b