dual-0.1.0.1: Dual category

Safe HaskellNone
LanguageHaskell2010

Control.Category.Dual

Documentation

newtype Dual k a b Source #

Constructors

Dual 

Fields

Instances
Bitraversable k => Bitraversable (Dual k) Source # 
Instance details

Defined in Control.Category.Dual

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Dual k a b -> f (Dual k c d) #

Bifoldable k => Bifoldable (Dual k) Source # 
Instance details

Defined in Control.Category.Dual

Methods

bifold :: Monoid m => Dual k m m -> m #

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> Dual k a b -> m #

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> Dual k a b -> c #

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> Dual k a b -> c #

Bifunctor k => Bifunctor (Dual k) Source # 
Instance details

Defined in Control.Category.Dual

Methods

bimap :: (a -> b) -> (c -> d) -> Dual k a c -> Dual k b d #

first :: (a -> b) -> Dual k a c -> Dual k b c #

second :: (b -> c) -> Dual k a b -> Dual k a c #

Eq2 k => Eq2 (Dual k) Source # 
Instance details

Defined in Control.Category.Dual

Methods

liftEq2 :: (a -> b -> Bool) -> (c -> d -> Bool) -> Dual k a c -> Dual k b d -> Bool #

Ord2 k => Ord2 (Dual k) Source # 
Instance details

Defined in Control.Category.Dual

Methods

liftCompare2 :: (a -> b -> Ordering) -> (c -> d -> Ordering) -> Dual k a c -> Dual k b d -> Ordering #

Read2 k => Read2 (Dual k) Source # 
Instance details

Defined in Control.Category.Dual

Methods

liftReadsPrec2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> Int -> ReadS (Dual k a b) #

liftReadList2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> ReadS [Dual k a b] #

liftReadPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec (Dual k a b) #

liftReadListPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [Dual k a b] #

Show2 k => Show2 (Dual k) Source # 
Instance details

Defined in Control.Category.Dual

Methods

liftShowsPrec2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> Int -> Dual k a b -> ShowS #

liftShowList2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> [Dual k a b] -> ShowS #

Category k => Category (Dual k :: Type -> Type -> Type) Source # 
Instance details

Defined in Control.Category.Dual

Methods

id :: Dual k a a #

(.) :: Dual k b c -> Dual k a b -> Dual k a c #

Bounded (k b a) => Bounded (Dual k a b) Source # 
Instance details

Defined in Control.Category.Dual

Methods

minBound :: Dual k a b #

maxBound :: Dual k a b #

Eq (k b a) => Eq (Dual k a b) Source # 
Instance details

Defined in Control.Category.Dual

Methods

(==) :: Dual k a b -> Dual k a b -> Bool #

(/=) :: Dual k a b -> Dual k a b -> Bool #

Ord (k b a) => Ord (Dual k a b) Source # 
Instance details

Defined in Control.Category.Dual

Methods

compare :: Dual k a b -> Dual k a b -> Ordering #

(<) :: Dual k a b -> Dual k a b -> Bool #

(<=) :: Dual k a b -> Dual k a b -> Bool #

(>) :: Dual k a b -> Dual k a b -> Bool #

(>=) :: Dual k a b -> Dual k a b -> Bool #

max :: Dual k a b -> Dual k a b -> Dual k a b #

min :: Dual k a b -> Dual k a b -> Dual k a b #

Read (k b a) => Read (Dual k a b) Source # 
Instance details

Defined in Control.Category.Dual

Methods

readsPrec :: Int -> ReadS (Dual k a b) #

readList :: ReadS [Dual k a b] #

readPrec :: ReadPrec (Dual k a b) #

readListPrec :: ReadPrec [Dual k a b] #

Show (k b a) => Show (Dual k a b) Source # 
Instance details

Defined in Control.Category.Dual

Methods

showsPrec :: Int -> Dual k a b -> ShowS #

show :: Dual k a b -> String #

showList :: [Dual k a b] -> ShowS #

Semigroup (k b a) => Semigroup (Dual k a b) Source # 
Instance details

Defined in Control.Category.Dual

Methods

(<>) :: Dual k a b -> Dual k a b -> Dual k a b #

sconcat :: NonEmpty (Dual k a b) -> Dual k a b #

stimes :: Integral b0 => b0 -> Dual k a b -> Dual k a b #

Monoid (k b a) => Monoid (Dual k a b) Source # 
Instance details

Defined in Control.Category.Dual

Methods

mempty :: Dual k a b #

mappend :: Dual k a b -> Dual k a b -> Dual k a b #

mconcat :: [Dual k a b] -> Dual k a b #