prelude-extras-0.4.0.3: Higher order versions of Prelude classes

Safe HaskellTrustworthy
LanguageHaskell98

Prelude.Extras

Contents

Synopsis

Lifted Prelude classes for kind * -> *

class Eq1 f where Source #

Methods

(==#) :: Eq a => f a -> f a -> Bool infixr 4 Source #

(==#) :: Eq (f a) => f a -> f a -> Bool infixr 4 Source #

Instances

Eq1 [] Source # 

Methods

(==#) :: Eq a => [a] -> [a] -> Bool Source #

Eq1 Maybe Source # 

Methods

(==#) :: Eq a => Maybe a -> Maybe a -> Bool Source #

Eq1 Ratio Source # 

Methods

(==#) :: Eq a => Ratio a -> Ratio a -> Bool Source #

Eq1 StablePtr Source # 

Methods

(==#) :: Eq a => StablePtr a -> StablePtr a -> Bool Source #

Eq1 Ptr Source # 

Methods

(==#) :: Eq a => Ptr a -> Ptr a -> Bool Source #

Eq1 FunPtr Source # 

Methods

(==#) :: Eq a => FunPtr a -> FunPtr a -> Bool Source #

Eq1 Identity Source # 

Methods

(==#) :: Eq a => Identity a -> Identity a -> Bool Source #

Eq1 Fixed Source # 

Methods

(==#) :: Eq a => Fixed a -> Fixed a -> Bool Source #

Eq1 Complex Source # 

Methods

(==#) :: Eq a => Complex a -> Complex a -> Bool Source #

Eq1 Chan Source # 

Methods

(==#) :: Eq a => Chan a -> Chan a -> Bool Source #

Eq1 ZipList Source # 

Methods

(==#) :: Eq a => ZipList a -> ZipList a -> Bool Source #

Eq1 TVar Source # 

Methods

(==#) :: Eq a => TVar a -> TVar a -> Bool Source #

Eq1 ForeignPtr Source # 

Methods

(==#) :: Eq a => ForeignPtr a -> ForeignPtr a -> Bool Source #

Eq1 Dual Source # 

Methods

(==#) :: Eq a => Dual a -> Dual a -> Bool Source #

Eq1 Sum Source # 

Methods

(==#) :: Eq a => Sum a -> Sum a -> Bool Source #

Eq1 Product Source # 

Methods

(==#) :: Eq a => Product a -> Product a -> Bool Source #

Eq1 First Source # 

Methods

(==#) :: Eq a => First a -> First a -> Bool Source #

Eq1 Last Source # 

Methods

(==#) :: Eq a => Last a -> Last a -> Bool Source #

Eq1 IORef Source # 

Methods

(==#) :: Eq a => IORef a -> IORef a -> Bool Source #

Eq1 Down Source # 

Methods

(==#) :: Eq a => Down a -> Down a -> Bool Source #

Eq1 MVar Source # 

Methods

(==#) :: Eq a => MVar a -> MVar a -> Bool Source #

Eq a => Eq1 (Either a) Source # 

Methods

(==#) :: Eq a => Either a a -> Either a a -> Bool Source #

Eq a => Eq1 ((,) a) Source # 

Methods

(==#) :: Eq a => (a, a) -> (a, a) -> Bool Source #

Eq1 (Proxy *) Source # 

Methods

(==#) :: Eq a => Proxy * a -> Proxy * a -> Bool Source #

Eq1 f => Eq1 (Lift1 f) Source # 

Methods

(==#) :: Eq a => Lift1 f a -> Lift1 f a -> Bool Source #

(Eq a, Eq b) => Eq1 ((,,) a b) Source # 

Methods

(==#) :: Eq a => (a, b, a) -> (a, b, a) -> Bool Source #

Eq a => Eq1 (Const * a) Source # 

Methods

(==#) :: Eq a => Const * a a -> Const * a a -> Bool Source #

Eq1 f => Eq1 (Alt * f) Source # 

Methods

(==#) :: Eq a => Alt * f a -> Alt * f a -> Bool Source #

(Eq2 f, Eq a) => Eq1 (Lift2 f a) Source # 

Methods

(==#) :: Eq a => Lift2 f a a -> Lift2 f a a -> Bool Source #

(Eq a, Eq b, Eq c) => Eq1 ((,,,) a b c) Source # 

Methods

(==#) :: Eq a => (a, b, c, a) -> (a, b, c, a) -> Bool Source #

(Eq a, Eq b, Eq c, Eq d) => Eq1 ((,,,,) a b c d) Source # 

Methods

(==#) :: Eq a => (a, b, c, d, a) -> (a, b, c, d, a) -> Bool Source #

(Eq a, Eq b, Eq c, Eq d, Eq e) => Eq1 ((,,,,,) a b c d e) Source # 

Methods

(==#) :: Eq a => (a, b, c, d, e, a) -> (a, b, c, d, e, a) -> Bool Source #

(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f) => Eq1 ((,,,,,,) a b c d e f) Source # 

Methods

(==#) :: Eq a => (a, b, c, d, e, f, a) -> (a, b, c, d, e, f, a) -> Bool Source #

(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g) => Eq1 ((,,,,,,,) a b c d e f g) Source # 

Methods

(==#) :: Eq a => (a, b, c, d, e, f, g, a) -> (a, b, c, d, e, f, g, a) -> Bool Source #

(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h) => Eq1 ((,,,,,,,,) a b c d e f g h) Source # 

Methods

(==#) :: Eq a => (a, b, c, d, e, f, g, h, a) -> (a, b, c, d, e, f, g, h, a) -> Bool Source #

(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i) => Eq1 ((,,,,,,,,,) a b c d e f g h i) Source # 

Methods

(==#) :: Eq a => (a, b, c, d, e, f, g, h, i, a) -> (a, b, c, d, e, f, g, h, i, a) -> Bool Source #

(/=#) :: (Eq1 f, Eq a) => f a -> f a -> Bool infixr 4 Source #

class Eq1 f => Ord1 f where Source #

Methods

compare1 :: Ord a => f a -> f a -> Ordering Source #

compare1 :: Ord (f a) => f a -> f a -> Ordering Source #

Instances

Ord1 [] Source # 

Methods

compare1 :: Ord a => [a] -> [a] -> Ordering Source #

Ord1 Maybe Source # 

Methods

compare1 :: Ord a => Maybe a -> Maybe a -> Ordering Source #

Ord1 Ptr Source # 

Methods

compare1 :: Ord a => Ptr a -> Ptr a -> Ordering Source #

Ord1 FunPtr Source # 

Methods

compare1 :: Ord a => FunPtr a -> FunPtr a -> Ordering Source #

Ord1 Identity Source # 

Methods

compare1 :: Ord a => Identity a -> Identity a -> Ordering Source #

Ord1 Fixed Source # 

Methods

compare1 :: Ord a => Fixed a -> Fixed a -> Ordering Source #

Ord1 ZipList Source # 

Methods

compare1 :: Ord a => ZipList a -> ZipList a -> Ordering Source #

Ord1 ForeignPtr Source # 

Methods

compare1 :: Ord a => ForeignPtr a -> ForeignPtr a -> Ordering Source #

Ord1 Dual Source # 

Methods

compare1 :: Ord a => Dual a -> Dual a -> Ordering Source #

Ord1 Sum Source # 

Methods

compare1 :: Ord a => Sum a -> Sum a -> Ordering Source #

Ord1 Product Source # 

Methods

compare1 :: Ord a => Product a -> Product a -> Ordering Source #

Ord1 First Source # 

Methods

compare1 :: Ord a => First a -> First a -> Ordering Source #

Ord1 Last Source # 

Methods

compare1 :: Ord a => Last a -> Last a -> Ordering Source #

Ord1 Down Source # 

Methods

compare1 :: Ord a => Down a -> Down a -> Ordering Source #

Ord a => Ord1 (Either a) Source # 

Methods

compare1 :: Ord a => Either a a -> Either a a -> Ordering Source #

Ord a => Ord1 ((,) a) Source # 

Methods

compare1 :: Ord a => (a, a) -> (a, a) -> Ordering Source #

Ord1 (Proxy *) Source # 

Methods

compare1 :: Ord a => Proxy * a -> Proxy * a -> Ordering Source #

Ord1 f => Ord1 (Lift1 f) Source # 

Methods

compare1 :: Ord a => Lift1 f a -> Lift1 f a -> Ordering Source #

(Ord a, Ord b) => Ord1 ((,,) a b) Source # 

Methods

compare1 :: Ord a => (a, b, a) -> (a, b, a) -> Ordering Source #

Ord a => Ord1 (Const * a) Source # 

Methods

compare1 :: Ord a => Const * a a -> Const * a a -> Ordering Source #

Ord1 f => Ord1 (Alt * f) Source # 

Methods

compare1 :: Ord a => Alt * f a -> Alt * f a -> Ordering Source #

(Ord2 f, Ord a) => Ord1 (Lift2 f a) Source # 

Methods

compare1 :: Ord a => Lift2 f a a -> Lift2 f a a -> Ordering Source #

(Ord a, Ord b, Ord c) => Ord1 ((,,,) a b c) Source # 

Methods

compare1 :: Ord a => (a, b, c, a) -> (a, b, c, a) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d) => Ord1 ((,,,,) a b c d) Source # 

Methods

compare1 :: Ord a => (a, b, c, d, a) -> (a, b, c, d, a) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d, Ord e) => Ord1 ((,,,,,) a b c d e) Source # 

Methods

compare1 :: Ord a => (a, b, c, d, e, a) -> (a, b, c, d, e, a) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f) => Ord1 ((,,,,,,) a b c d e f) Source # 

Methods

compare1 :: Ord a => (a, b, c, d, e, f, a) -> (a, b, c, d, e, f, a) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g) => Ord1 ((,,,,,,,) a b c d e f g) Source # 

Methods

compare1 :: Ord a => (a, b, c, d, e, f, g, a) -> (a, b, c, d, e, f, g, a) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h) => Ord1 ((,,,,,,,,) a b c d e f g h) Source # 

Methods

compare1 :: Ord a => (a, b, c, d, e, f, g, h, a) -> (a, b, c, d, e, f, g, h, a) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i) => Ord1 ((,,,,,,,,,) a b c d e f g h i) Source # 

Methods

compare1 :: Ord a => (a, b, c, d, e, f, g, h, i, a) -> (a, b, c, d, e, f, g, h, i, a) -> Ordering Source #

(<#) :: (Ord1 f, Ord a) => f a -> f a -> Bool infixr 4 Source #

(<=#) :: (Ord1 f, Ord a) => f a -> f a -> Bool infixr 4 Source #

(>=#) :: (Ord1 f, Ord a) => f a -> f a -> Bool infixr 4 Source #

(>#) :: (Ord1 f, Ord a) => f a -> f a -> Bool infixr 4 Source #

max1 :: (Ord1 f, Ord a) => f a -> f a -> f a Source #

min1 :: (Ord1 f, Ord a) => f a -> f a -> f a Source #

class Show1 f where Source #

Methods

showsPrec1 :: Show a => Int -> f a -> ShowS Source #

showsPrec1 :: Show (f a) => Int -> f a -> ShowS Source #

showList1 :: Show a => [f a] -> ShowS Source #

Instances

Show1 [] Source # 

Methods

showsPrec1 :: Show a => Int -> [a] -> ShowS Source #

showList1 :: Show a => [[a]] -> ShowS Source #

Show1 Maybe Source # 

Methods

showsPrec1 :: Show a => Int -> Maybe a -> ShowS Source #

showList1 :: Show a => [Maybe a] -> ShowS Source #

Show1 Ptr Source # 

Methods

showsPrec1 :: Show a => Int -> Ptr a -> ShowS Source #

showList1 :: Show a => [Ptr a] -> ShowS Source #

Show1 FunPtr Source # 

Methods

showsPrec1 :: Show a => Int -> FunPtr a -> ShowS Source #

showList1 :: Show a => [FunPtr a] -> ShowS Source #

Show1 Identity Source # 

Methods

showsPrec1 :: Show a => Int -> Identity a -> ShowS Source #

showList1 :: Show a => [Identity a] -> ShowS Source #

Show1 Complex Source # 

Methods

showsPrec1 :: Show a => Int -> Complex a -> ShowS Source #

showList1 :: Show a => [Complex a] -> ShowS Source #

Show1 ZipList Source # 

Methods

showsPrec1 :: Show a => Int -> ZipList a -> ShowS Source #

showList1 :: Show a => [ZipList a] -> ShowS Source #

Show1 ForeignPtr Source # 
Show1 Dual Source # 

Methods

showsPrec1 :: Show a => Int -> Dual a -> ShowS Source #

showList1 :: Show a => [Dual a] -> ShowS Source #

Show1 Sum Source # 

Methods

showsPrec1 :: Show a => Int -> Sum a -> ShowS Source #

showList1 :: Show a => [Sum a] -> ShowS Source #

Show1 Product Source # 

Methods

showsPrec1 :: Show a => Int -> Product a -> ShowS Source #

showList1 :: Show a => [Product a] -> ShowS Source #

Show1 First Source # 

Methods

showsPrec1 :: Show a => Int -> First a -> ShowS Source #

showList1 :: Show a => [First a] -> ShowS Source #

Show1 Last Source # 

Methods

showsPrec1 :: Show a => Int -> Last a -> ShowS Source #

showList1 :: Show a => [Last a] -> ShowS Source #

Show1 Down Source # 

Methods

showsPrec1 :: Show a => Int -> Down a -> ShowS Source #

showList1 :: Show a => [Down a] -> ShowS Source #

Show a => Show1 (Either a) Source # 

Methods

showsPrec1 :: Show a => Int -> Either a a -> ShowS Source #

showList1 :: Show a => [Either a a] -> ShowS Source #

Show a => Show1 ((,) a) Source # 

Methods

showsPrec1 :: Show a => Int -> (a, a) -> ShowS Source #

showList1 :: Show a => [(a, a)] -> ShowS Source #

Show1 (Proxy *) Source # 

Methods

showsPrec1 :: Show a => Int -> Proxy * a -> ShowS Source #

showList1 :: Show a => [Proxy * a] -> ShowS Source #

Show1 f => Show1 (Lift1 f) Source # 

Methods

showsPrec1 :: Show a => Int -> Lift1 f a -> ShowS Source #

showList1 :: Show a => [Lift1 f a] -> ShowS Source #

(Show a, Show b) => Show1 ((,,) a b) Source # 

Methods

showsPrec1 :: Show a => Int -> (a, b, a) -> ShowS Source #

showList1 :: Show a => [(a, b, a)] -> ShowS Source #

Show a => Show1 (Const * a) Source # 

Methods

showsPrec1 :: Show a => Int -> Const * a a -> ShowS Source #

showList1 :: Show a => [Const * a a] -> ShowS Source #

Show1 f => Show1 (Alt * f) Source # 

Methods

showsPrec1 :: Show a => Int -> Alt * f a -> ShowS Source #

showList1 :: Show a => [Alt * f a] -> ShowS Source #

(Show2 f, Show a) => Show1 (Lift2 f a) Source # 

Methods

showsPrec1 :: Show a => Int -> Lift2 f a a -> ShowS Source #

showList1 :: Show a => [Lift2 f a a] -> ShowS Source #

(Show a, Show b, Show c) => Show1 ((,,,) a b c) Source # 

Methods

showsPrec1 :: Show a => Int -> (a, b, c, a) -> ShowS Source #

showList1 :: Show a => [(a, b, c, a)] -> ShowS Source #

(Show a, Show b, Show c, Show d) => Show1 ((,,,,) a b c d) Source # 

Methods

showsPrec1 :: Show a => Int -> (a, b, c, d, a) -> ShowS Source #

showList1 :: Show a => [(a, b, c, d, a)] -> ShowS Source #

(Show a, Show b, Show c, Show d, Show e) => Show1 ((,,,,,) a b c d e) Source # 

Methods

showsPrec1 :: Show a => Int -> (a, b, c, d, e, a) -> ShowS Source #

showList1 :: Show a => [(a, b, c, d, e, a)] -> ShowS Source #

(Show a, Show b, Show c, Show d, Show e, Show f) => Show1 ((,,,,,,) a b c d e f) Source # 

Methods

showsPrec1 :: Show a => Int -> (a, b, c, d, e, f, a) -> ShowS Source #

showList1 :: Show a => [(a, b, c, d, e, f, a)] -> ShowS Source #

(Show a, Show b, Show c, Show d, Show e, Show f, Show g) => Show1 ((,,,,,,,) a b c d e f g) Source # 

Methods

showsPrec1 :: Show a => Int -> (a, b, c, d, e, f, g, a) -> ShowS Source #

showList1 :: Show a => [(a, b, c, d, e, f, g, a)] -> ShowS Source #

(Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h) => Show1 ((,,,,,,,,) a b c d e f g h) Source # 

Methods

showsPrec1 :: Show a => Int -> (a, b, c, d, e, f, g, h, a) -> ShowS Source #

showList1 :: Show a => [(a, b, c, d, e, f, g, h, a)] -> ShowS Source #

(Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i) => Show1 ((,,,,,,,,,) a b c d e f g h i) Source # 

Methods

showsPrec1 :: Show a => Int -> (a, b, c, d, e, f, g, h, i, a) -> ShowS Source #

showList1 :: Show a => [(a, b, c, d, e, f, g, h, i, a)] -> ShowS Source #

show1 :: (Show1 f, Show a) => f a -> String Source #

shows1 :: (Show1 f, Show a) => f a -> ShowS Source #

class Read1 f where Source #

Methods

readsPrec1 :: Read a => Int -> ReadS (f a) Source #

readsPrec1 :: Read (f a) => Int -> ReadS (f a) Source #

readList1 :: Read a => ReadS [f a] Source #

Instances

Read1 [] Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS [a] Source #

readList1 :: Read a => ReadS [[a]] Source #

Read1 Maybe Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (Maybe a) Source #

readList1 :: Read a => ReadS [Maybe a] Source #

Read1 Identity Source # 
Read1 Complex Source # 
Read1 ZipList Source # 
Read1 Dual Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (Dual a) Source #

readList1 :: Read a => ReadS [Dual a] Source #

Read1 Sum Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (Sum a) Source #

readList1 :: Read a => ReadS [Sum a] Source #

Read1 Product Source # 
Read1 First Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (First a) Source #

readList1 :: Read a => ReadS [First a] Source #

Read1 Last Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (Last a) Source #

readList1 :: Read a => ReadS [Last a] Source #

Read1 Down Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (Down a) Source #

readList1 :: Read a => ReadS [Down a] Source #

Read a => Read1 (Either a) Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (Either a a) Source #

readList1 :: Read a => ReadS [Either a a] Source #

Read a => Read1 ((,) a) Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (a, a) Source #

readList1 :: Read a => ReadS [(a, a)] Source #

Read1 (Proxy *) Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (Proxy * a) Source #

readList1 :: Read a => ReadS [Proxy * a] Source #

Read1 f => Read1 (Lift1 f) Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (Lift1 f a) Source #

readList1 :: Read a => ReadS [Lift1 f a] Source #

(Read a, Read b) => Read1 ((,,) a b) Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (a, b, a) Source #

readList1 :: Read a => ReadS [(a, b, a)] Source #

Read a => Read1 (Const * a) Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (Const * a a) Source #

readList1 :: Read a => ReadS [Const * a a] Source #

Read1 f => Read1 (Alt * f) Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (Alt * f a) Source #

readList1 :: Read a => ReadS [Alt * f a] Source #

(Read2 f, Read a) => Read1 (Lift2 f a) Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (Lift2 f a a) Source #

readList1 :: Read a => ReadS [Lift2 f a a] Source #

(Read a, Read b, Read c) => Read1 ((,,,) a b c) Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (a, b, c, a) Source #

readList1 :: Read a => ReadS [(a, b, c, a)] Source #

(Read a, Read b, Read c, Read d) => Read1 ((,,,,) a b c d) Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (a, b, c, d, a) Source #

readList1 :: Read a => ReadS [(a, b, c, d, a)] Source #

(Read a, Read b, Read c, Read d, Read e) => Read1 ((,,,,,) a b c d e) Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (a, b, c, d, e, a) Source #

readList1 :: Read a => ReadS [(a, b, c, d, e, a)] Source #

(Read a, Read b, Read c, Read d, Read e, Read f) => Read1 ((,,,,,,) a b c d e f) Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (a, b, c, d, e, f, a) Source #

readList1 :: Read a => ReadS [(a, b, c, d, e, f, a)] Source #

(Read a, Read b, Read c, Read d, Read e, Read f, Read g) => Read1 ((,,,,,,,) a b c d e f g) Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (a, b, c, d, e, f, g, a) Source #

readList1 :: Read a => ReadS [(a, b, c, d, e, f, g, a)] Source #

(Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h) => Read1 ((,,,,,,,,) a b c d e f g h) Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (a, b, c, d, e, f, g, h, a) Source #

readList1 :: Read a => ReadS [(a, b, c, d, e, f, g, h, a)] Source #

(Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i) => Read1 ((,,,,,,,,,) a b c d e f g h i) Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (a, b, c, d, e, f, g, h, i, a) Source #

readList1 :: Read a => ReadS [(a, b, c, d, e, f, g, h, i, a)] Source #

read1 :: (Read1 f, Read a) => String -> f a Source #

reads1 :: (Read1 f, Read a) => ReadS (f a) Source #

readPrec1 :: (Read1 f, Read a) => ReadPrec (f a) Source #

newtype Lift1 f a Source #

Constructors

Lift1 

Fields

Instances

Functor f => Functor (Lift1 f) Source # 

Methods

fmap :: (a -> b) -> Lift1 f a -> Lift1 f b #

(<$) :: a -> Lift1 f b -> Lift1 f a #

Foldable f => Foldable (Lift1 f) Source # 

Methods

fold :: Monoid m => Lift1 f m -> m #

foldMap :: Monoid m => (a -> m) -> Lift1 f a -> m #

foldr :: (a -> b -> b) -> b -> Lift1 f a -> b #

foldr' :: (a -> b -> b) -> b -> Lift1 f a -> b #

foldl :: (b -> a -> b) -> b -> Lift1 f a -> b #

foldl' :: (b -> a -> b) -> b -> Lift1 f a -> b #

foldr1 :: (a -> a -> a) -> Lift1 f a -> a #

foldl1 :: (a -> a -> a) -> Lift1 f a -> a #

toList :: Lift1 f a -> [a] #

null :: Lift1 f a -> Bool #

length :: Lift1 f a -> Int #

elem :: Eq a => a -> Lift1 f a -> Bool #

maximum :: Ord a => Lift1 f a -> a #

minimum :: Ord a => Lift1 f a -> a #

sum :: Num a => Lift1 f a -> a #

product :: Num a => Lift1 f a -> a #

Traversable f => Traversable (Lift1 f) Source # 

Methods

traverse :: Applicative f => (a -> f b) -> Lift1 f a -> f (Lift1 f b) #

sequenceA :: Applicative f => Lift1 f (f a) -> f (Lift1 f a) #

mapM :: Monad m => (a -> m b) -> Lift1 f a -> m (Lift1 f b) #

sequence :: Monad m => Lift1 f (m a) -> m (Lift1 f a) #

Read1 f => Read1 (Lift1 f) Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (Lift1 f a) Source #

readList1 :: Read a => ReadS [Lift1 f a] Source #

Show1 f => Show1 (Lift1 f) Source # 

Methods

showsPrec1 :: Show a => Int -> Lift1 f a -> ShowS Source #

showList1 :: Show a => [Lift1 f a] -> ShowS Source #

Ord1 f => Ord1 (Lift1 f) Source # 

Methods

compare1 :: Ord a => Lift1 f a -> Lift1 f a -> Ordering Source #

Eq1 f => Eq1 (Lift1 f) Source # 

Methods

(==#) :: Eq a => Lift1 f a -> Lift1 f a -> Bool Source #

(Eq1 f, Eq a) => Eq (Lift1 f a) Source # 

Methods

(==) :: Lift1 f a -> Lift1 f a -> Bool #

(/=) :: Lift1 f a -> Lift1 f a -> Bool #

(Ord1 f, Ord a) => Ord (Lift1 f a) Source # 

Methods

compare :: Lift1 f a -> Lift1 f a -> Ordering #

(<) :: Lift1 f a -> Lift1 f a -> Bool #

(<=) :: Lift1 f a -> Lift1 f a -> Bool #

(>) :: Lift1 f a -> Lift1 f a -> Bool #

(>=) :: Lift1 f a -> Lift1 f a -> Bool #

max :: Lift1 f a -> Lift1 f a -> Lift1 f a #

min :: Lift1 f a -> Lift1 f a -> Lift1 f a #

(Read1 f, Read a) => Read (Lift1 f a) Source # 
(Show1 f, Show a) => Show (Lift1 f a) Source # 

Methods

showsPrec :: Int -> Lift1 f a -> ShowS #

show :: Lift1 f a -> String #

showList :: [Lift1 f a] -> ShowS #

Lifted Prelude classes for kind * -> * -> *

class Eq2 f where Source #

Methods

(==##) :: (Eq a, Eq b) => f a b -> f a b -> Bool infixr 4 Source #

(==##) :: Eq (f a b) => f a b -> f a b -> Bool infixr 4 Source #

Instances

Eq2 Either Source # 

Methods

(==##) :: (Eq a, Eq b) => Either a b -> Either a b -> Bool Source #

Eq2 (,) Source # 

Methods

(==##) :: (Eq a, Eq b) => (a, b) -> (a, b) -> Bool Source #

Eq a => Eq2 ((,,) a) Source # 

Methods

(==##) :: (Eq a, Eq b) => (a, a, b) -> (a, a, b) -> Bool Source #

Eq2 (Const *) Source # 

Methods

(==##) :: (Eq a, Eq b) => Const * a b -> Const * a b -> Bool Source #

Eq2 f => Eq2 (Lift2 f) Source # 

Methods

(==##) :: (Eq a, Eq b) => Lift2 f a b -> Lift2 f a b -> Bool Source #

(Eq a, Eq b) => Eq2 ((,,,) a b) Source # 

Methods

(==##) :: (Eq a, Eq b) => (a, b, a, b) -> (a, b, a, b) -> Bool Source #

(Eq a, Eq b, Eq c) => Eq2 ((,,,,) a b c) Source # 

Methods

(==##) :: (Eq a, Eq b) => (a, b, c, a, b) -> (a, b, c, a, b) -> Bool Source #

(Eq a, Eq b, Eq c, Eq d) => Eq2 ((,,,,,) a b c d) Source # 

Methods

(==##) :: (Eq a, Eq b) => (a, b, c, d, a, b) -> (a, b, c, d, a, b) -> Bool Source #

(Eq a, Eq b, Eq c, Eq d, Eq e) => Eq2 ((,,,,,,) a b c d e) Source # 

Methods

(==##) :: (Eq a, Eq b) => (a, b, c, d, e, a, b) -> (a, b, c, d, e, a, b) -> Bool Source #

(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f) => Eq2 ((,,,,,,,) a b c d e f) Source # 

Methods

(==##) :: (Eq a, Eq b) => (a, b, c, d, e, f, a, b) -> (a, b, c, d, e, f, a, b) -> Bool Source #

(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g) => Eq2 ((,,,,,,,,) a b c d e f g) Source # 

Methods

(==##) :: (Eq a, Eq b) => (a, b, c, d, e, f, g, a, b) -> (a, b, c, d, e, f, g, a, b) -> Bool Source #

(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h) => Eq2 ((,,,,,,,,,) a b c d e f g h) Source # 

Methods

(==##) :: (Eq a, Eq b) => (a, b, c, d, e, f, g, h, a, b) -> (a, b, c, d, e, f, g, h, a, b) -> Bool Source #

(/=##) :: (Eq2 f, Eq a, Eq b) => f a b -> f a b -> Bool infixr 4 Source #

class Eq2 f => Ord2 f where Source #

Methods

compare2 :: (Ord a, Ord b) => f a b -> f a b -> Ordering Source #

compare2 :: Ord (f a b) => f a b -> f a b -> Ordering Source #

Instances

Ord2 Either Source # 

Methods

compare2 :: (Ord a, Ord b) => Either a b -> Either a b -> Ordering Source #

Ord2 (,) Source # 

Methods

compare2 :: (Ord a, Ord b) => (a, b) -> (a, b) -> Ordering Source #

Ord a => Ord2 ((,,) a) Source # 

Methods

compare2 :: (Ord a, Ord b) => (a, a, b) -> (a, a, b) -> Ordering Source #

Ord2 (Const *) Source # 

Methods

compare2 :: (Ord a, Ord b) => Const * a b -> Const * a b -> Ordering Source #

Ord2 f => Ord2 (Lift2 f) Source # 

Methods

compare2 :: (Ord a, Ord b) => Lift2 f a b -> Lift2 f a b -> Ordering Source #

(Ord a, Ord b) => Ord2 ((,,,) a b) Source # 

Methods

compare2 :: (Ord a, Ord b) => (a, b, a, b) -> (a, b, a, b) -> Ordering Source #

(Ord a, Ord b, Ord c) => Ord2 ((,,,,) a b c) Source # 

Methods

compare2 :: (Ord a, Ord b) => (a, b, c, a, b) -> (a, b, c, a, b) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d) => Ord2 ((,,,,,) a b c d) Source # 

Methods

compare2 :: (Ord a, Ord b) => (a, b, c, d, a, b) -> (a, b, c, d, a, b) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d, Ord e) => Ord2 ((,,,,,,) a b c d e) Source # 

Methods

compare2 :: (Ord a, Ord b) => (a, b, c, d, e, a, b) -> (a, b, c, d, e, a, b) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f) => Ord2 ((,,,,,,,) a b c d e f) Source # 

Methods

compare2 :: (Ord a, Ord b) => (a, b, c, d, e, f, a, b) -> (a, b, c, d, e, f, a, b) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g) => Ord2 ((,,,,,,,,) a b c d e f g) Source # 

Methods

compare2 :: (Ord a, Ord b) => (a, b, c, d, e, f, g, a, b) -> (a, b, c, d, e, f, g, a, b) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h) => Ord2 ((,,,,,,,,,) a b c d e f g h) Source # 

Methods

compare2 :: (Ord a, Ord b) => (a, b, c, d, e, f, g, h, a, b) -> (a, b, c, d, e, f, g, h, a, b) -> Ordering Source #

(<##) :: (Ord2 f, Ord a, Ord b) => f a b -> f a b -> Bool infixr 4 Source #

(<=##) :: (Ord2 f, Ord a, Ord b) => f a b -> f a b -> Bool infixr 4 Source #

(>=##) :: (Ord2 f, Ord a, Ord b) => f a b -> f a b -> Bool infixr 4 Source #

(>##) :: (Ord2 f, Ord a, Ord b) => f a b -> f a b -> Bool infixr 4 Source #

max2 :: (Ord2 f, Ord a, Ord b) => f a b -> f a b -> f a b Source #

min2 :: (Ord2 f, Ord a, Ord b) => f a b -> f a b -> f a b Source #

class Show2 f where Source #

Methods

showsPrec2 :: (Show a, Show b) => Int -> f a b -> ShowS Source #

showsPrec2 :: Show (f a b) => Int -> f a b -> ShowS Source #

showList2 :: (Show a, Show b) => [f a b] -> ShowS Source #

Instances

Show2 Either Source # 

Methods

showsPrec2 :: (Show a, Show b) => Int -> Either a b -> ShowS Source #

showList2 :: (Show a, Show b) => [Either a b] -> ShowS Source #

Show2 (,) Source # 

Methods

showsPrec2 :: (Show a, Show b) => Int -> (a, b) -> ShowS Source #

showList2 :: (Show a, Show b) => [(a, b)] -> ShowS Source #

Show a => Show2 ((,,) a) Source # 

Methods

showsPrec2 :: (Show a, Show b) => Int -> (a, a, b) -> ShowS Source #

showList2 :: (Show a, Show b) => [(a, a, b)] -> ShowS Source #

Show2 (Const *) Source # 

Methods

showsPrec2 :: (Show a, Show b) => Int -> Const * a b -> ShowS Source #

showList2 :: (Show a, Show b) => [Const * a b] -> ShowS Source #

Show2 f => Show2 (Lift2 f) Source # 

Methods

showsPrec2 :: (Show a, Show b) => Int -> Lift2 f a b -> ShowS Source #

showList2 :: (Show a, Show b) => [Lift2 f a b] -> ShowS Source #

(Show a, Show b) => Show2 ((,,,) a b) Source # 

Methods

showsPrec2 :: (Show a, Show b) => Int -> (a, b, a, b) -> ShowS Source #

showList2 :: (Show a, Show b) => [(a, b, a, b)] -> ShowS Source #

(Show a, Show b, Show c) => Show2 ((,,,,) a b c) Source # 

Methods

showsPrec2 :: (Show a, Show b) => Int -> (a, b, c, a, b) -> ShowS Source #

showList2 :: (Show a, Show b) => [(a, b, c, a, b)] -> ShowS Source #

(Show a, Show b, Show c, Show d) => Show2 ((,,,,,) a b c d) Source # 

Methods

showsPrec2 :: (Show a, Show b) => Int -> (a, b, c, d, a, b) -> ShowS Source #

showList2 :: (Show a, Show b) => [(a, b, c, d, a, b)] -> ShowS Source #

(Show a, Show b, Show c, Show d, Show e) => Show2 ((,,,,,,) a b c d e) Source # 

Methods

showsPrec2 :: (Show a, Show b) => Int -> (a, b, c, d, e, a, b) -> ShowS Source #

showList2 :: (Show a, Show b) => [(a, b, c, d, e, a, b)] -> ShowS Source #

(Show a, Show b, Show c, Show d, Show e, Show f) => Show2 ((,,,,,,,) a b c d e f) Source # 

Methods

showsPrec2 :: (Show a, Show b) => Int -> (a, b, c, d, e, f, a, b) -> ShowS Source #

showList2 :: (Show a, Show b) => [(a, b, c, d, e, f, a, b)] -> ShowS Source #

(Show a, Show b, Show c, Show d, Show e, Show f, Show g) => Show2 ((,,,,,,,,) a b c d e f g) Source # 

Methods

showsPrec2 :: (Show a, Show b) => Int -> (a, b, c, d, e, f, g, a, b) -> ShowS Source #

showList2 :: (Show a, Show b) => [(a, b, c, d, e, f, g, a, b)] -> ShowS Source #

(Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h) => Show2 ((,,,,,,,,,) a b c d e f g h) Source # 

Methods

showsPrec2 :: (Show a, Show b) => Int -> (a, b, c, d, e, f, g, h, a, b) -> ShowS Source #

showList2 :: (Show a, Show b) => [(a, b, c, d, e, f, g, h, a, b)] -> ShowS Source #

show2 :: (Show2 f, Show a, Show b) => f a b -> String Source #

shows2 :: (Show2 f, Show a, Show b) => f a b -> ShowS Source #

class Read2 f where Source #

Methods

readsPrec2 :: (Read a, Read b) => Int -> ReadS (f a b) Source #

readsPrec2 :: Read (f a b) => Int -> ReadS (f a b) Source #

readList2 :: (Read a, Read b) => ReadS [f a b] Source #

Instances

Read2 Either Source # 

Methods

readsPrec2 :: (Read a, Read b) => Int -> ReadS (Either a b) Source #

readList2 :: (Read a, Read b) => ReadS [Either a b] Source #

Read2 (,) Source # 

Methods

readsPrec2 :: (Read a, Read b) => Int -> ReadS (a, b) Source #

readList2 :: (Read a, Read b) => ReadS [(a, b)] Source #

Read a => Read2 ((,,) a) Source # 

Methods

readsPrec2 :: (Read a, Read b) => Int -> ReadS (a, a, b) Source #

readList2 :: (Read a, Read b) => ReadS [(a, a, b)] Source #

Read2 (Const *) Source # 

Methods

readsPrec2 :: (Read a, Read b) => Int -> ReadS (Const * a b) Source #

readList2 :: (Read a, Read b) => ReadS [Const * a b] Source #

Read2 f => Read2 (Lift2 f) Source # 

Methods

readsPrec2 :: (Read a, Read b) => Int -> ReadS (Lift2 f a b) Source #

readList2 :: (Read a, Read b) => ReadS [Lift2 f a b] Source #

(Read a, Read b) => Read2 ((,,,) a b) Source # 

Methods

readsPrec2 :: (Read a, Read b) => Int -> ReadS (a, b, a, b) Source #

readList2 :: (Read a, Read b) => ReadS [(a, b, a, b)] Source #

(Read a, Read b, Read c) => Read2 ((,,,,) a b c) Source # 

Methods

readsPrec2 :: (Read a, Read b) => Int -> ReadS (a, b, c, a, b) Source #

readList2 :: (Read a, Read b) => ReadS [(a, b, c, a, b)] Source #

(Read a, Read b, Read c, Read d) => Read2 ((,,,,,) a b c d) Source # 

Methods

readsPrec2 :: (Read a, Read b) => Int -> ReadS (a, b, c, d, a, b) Source #

readList2 :: (Read a, Read b) => ReadS [(a, b, c, d, a, b)] Source #

(Read a, Read b, Read c, Read d, Read e) => Read2 ((,,,,,,) a b c d e) Source # 

Methods

readsPrec2 :: (Read a, Read b) => Int -> ReadS (a, b, c, d, e, a, b) Source #

readList2 :: (Read a, Read b) => ReadS [(a, b, c, d, e, a, b)] Source #

(Read a, Read b, Read c, Read d, Read e, Read f) => Read2 ((,,,,,,,) a b c d e f) Source # 

Methods

readsPrec2 :: (Read a, Read b) => Int -> ReadS (a, b, c, d, e, f, a, b) Source #

readList2 :: (Read a, Read b) => ReadS [(a, b, c, d, e, f, a, b)] Source #

(Read a, Read b, Read c, Read d, Read e, Read f, Read g) => Read2 ((,,,,,,,,) a b c d e f g) Source # 

Methods

readsPrec2 :: (Read a, Read b) => Int -> ReadS (a, b, c, d, e, f, g, a, b) Source #

readList2 :: (Read a, Read b) => ReadS [(a, b, c, d, e, f, g, a, b)] Source #

(Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h) => Read2 ((,,,,,,,,,) a b c d e f g h) Source # 

Methods

readsPrec2 :: (Read a, Read b) => Int -> ReadS (a, b, c, d, e, f, g, h, a, b) Source #

readList2 :: (Read a, Read b) => ReadS [(a, b, c, d, e, f, g, h, a, b)] Source #

read2 :: (Read2 f, Read a, Read b) => String -> f a b Source #

reads2 :: (Read2 f, Read a, Read b) => ReadS (f a b) Source #

readPrec2 :: (Read2 f, Read a, Read b) => ReadPrec (f a b) Source #

readListPrec2 :: (Read2 f, Read a, Read b) => ReadPrec [f a b] Source #

readList2Default :: (Read2 f, Read a, Read b) => ReadS [f a b] Source #

newtype Lift2 f a b Source #

Constructors

Lift2 

Fields

Instances

Read2 f => Read2 (Lift2 f) Source # 

Methods

readsPrec2 :: (Read a, Read b) => Int -> ReadS (Lift2 f a b) Source #

readList2 :: (Read a, Read b) => ReadS [Lift2 f a b] Source #

Show2 f => Show2 (Lift2 f) Source # 

Methods

showsPrec2 :: (Show a, Show b) => Int -> Lift2 f a b -> ShowS Source #

showList2 :: (Show a, Show b) => [Lift2 f a b] -> ShowS Source #

Ord2 f => Ord2 (Lift2 f) Source # 

Methods

compare2 :: (Ord a, Ord b) => Lift2 f a b -> Lift2 f a b -> Ordering Source #

Eq2 f => Eq2 (Lift2 f) Source # 

Methods

(==##) :: (Eq a, Eq b) => Lift2 f a b -> Lift2 f a b -> Bool Source #

Functor (f a) => Functor (Lift2 f a) Source # 

Methods

fmap :: (a -> b) -> Lift2 f a a -> Lift2 f a b #

(<$) :: a -> Lift2 f a b -> Lift2 f a a #

Foldable (f a) => Foldable (Lift2 f a) Source # 

Methods

fold :: Monoid m => Lift2 f a m -> m #

foldMap :: Monoid m => (a -> m) -> Lift2 f a a -> m #

foldr :: (a -> b -> b) -> b -> Lift2 f a a -> b #

foldr' :: (a -> b -> b) -> b -> Lift2 f a a -> b #

foldl :: (b -> a -> b) -> b -> Lift2 f a a -> b #

foldl' :: (b -> a -> b) -> b -> Lift2 f a a -> b #

foldr1 :: (a -> a -> a) -> Lift2 f a a -> a #

foldl1 :: (a -> a -> a) -> Lift2 f a a -> a #

toList :: Lift2 f a a -> [a] #

null :: Lift2 f a a -> Bool #

length :: Lift2 f a a -> Int #

elem :: Eq a => a -> Lift2 f a a -> Bool #

maximum :: Ord a => Lift2 f a a -> a #

minimum :: Ord a => Lift2 f a a -> a #

sum :: Num a => Lift2 f a a -> a #

product :: Num a => Lift2 f a a -> a #

Traversable (f a) => Traversable (Lift2 f a) Source # 

Methods

traverse :: Applicative f => (a -> f b) -> Lift2 f a a -> f (Lift2 f a b) #

sequenceA :: Applicative f => Lift2 f a (f a) -> f (Lift2 f a a) #

mapM :: Monad m => (a -> m b) -> Lift2 f a a -> m (Lift2 f a b) #

sequence :: Monad m => Lift2 f a (m a) -> m (Lift2 f a a) #

(Read2 f, Read a) => Read1 (Lift2 f a) Source # 

Methods

readsPrec1 :: Read a => Int -> ReadS (Lift2 f a a) Source #

readList1 :: Read a => ReadS [Lift2 f a a] Source #

(Show2 f, Show a) => Show1 (Lift2 f a) Source # 

Methods

showsPrec1 :: Show a => Int -> Lift2 f a a -> ShowS Source #

showList1 :: Show a => [Lift2 f a a] -> ShowS Source #

(Ord2 f, Ord a) => Ord1 (Lift2 f a) Source # 

Methods

compare1 :: Ord a => Lift2 f a a -> Lift2 f a a -> Ordering Source #

(Eq2 f, Eq a) => Eq1 (Lift2 f a) Source # 

Methods

(==#) :: Eq a => Lift2 f a a -> Lift2 f a a -> Bool Source #

(Eq2 f, Eq a, Eq b) => Eq (Lift2 f a b) Source # 

Methods

(==) :: Lift2 f a b -> Lift2 f a b -> Bool #

(/=) :: Lift2 f a b -> Lift2 f a b -> Bool #

(Ord2 f, Ord a, Ord b) => Ord (Lift2 f a b) Source # 

Methods

compare :: Lift2 f a b -> Lift2 f a b -> Ordering #

(<) :: Lift2 f a b -> Lift2 f a b -> Bool #

(<=) :: Lift2 f a b -> Lift2 f a b -> Bool #

(>) :: Lift2 f a b -> Lift2 f a b -> Bool #

(>=) :: Lift2 f a b -> Lift2 f a b -> Bool #

max :: Lift2 f a b -> Lift2 f a b -> Lift2 f a b #

min :: Lift2 f a b -> Lift2 f a b -> Lift2 f a b #

(Read2 f, Read a, Read b) => Read (Lift2 f a b) Source # 

Methods

readsPrec :: Int -> ReadS (Lift2 f a b) #

readList :: ReadS [Lift2 f a b] #

readPrec :: ReadPrec (Lift2 f a b) #

readListPrec :: ReadPrec [Lift2 f a b] #

(Show2 f, Show a, Show b) => Show (Lift2 f a b) Source # 

Methods

showsPrec :: Int -> Lift2 f a b -> ShowS #

show :: Lift2 f a b -> String #

showList :: [Lift2 f a b] -> ShowS #