Safe Haskell | None |
---|
Cgm.Control.InFunctor
Documentation
class Function f => Increasing f Source
data Increasing' a b Source
type :>>= a b = Increasing' a bSource
uncheckedIncreasing :: (a -> b) -> Increasing' a bSource
class Increasing f => StrictlyIncreasing f Source
Instances
data StrictlyIncreasing' a b Source
type :>> a b = StrictlyIncreasing' a bSource
uncheckedStrictlyIncreasing :: (a -> b) -> StrictlyIncreasing' a bSource
class Function f => InjectionA f whereSource
data InjectionA' a b Source
uncheckedInjectionA :: (a -> b) -> (b -> Maybe a) -> InjectionA' a bSource
injectionA' :: InjectionA f => f a b -> InjectionA' a bSource
class InjectionA f => Injection f whereSource
Instances
data Injection' a b Source
uncheckedInjection :: (a -> b) -> (b -> a) -> Injection' a bSource
injection' :: Injection f => f a b -> Injection' a bSource
pairInjection :: (Injection f1, Injection f2) => f1 a1 b1 -> f2 a2 b2 -> Injection' (a1, a2) (b1, b2)Source
class InjectionA f => InjectionM f Source
Instances
data InjectionM' a b Source
uncheckedInjectionM :: (a -> b) -> (b -> Maybe a) -> InjectionM' a bSource
injectionM' :: InjectionM f => f a b -> InjectionM' a bSource
class (Injection f, InjectionM f) => Bijection f Source
Instances
data Bijection' a b Source
uncheckedBijection :: (a -> b) -> (b -> a) -> Bijection' a bSource
pairBijection :: (Bijection f1, Bijection f2) => f1 a1 b1 -> f2 a2 b2 -> Bijection' (a1, a2) (b1, b2)Source
inv :: Bijection f => f a b -> Bijection' b aSource
liftAB :: (Bijection g, Applicative f) => g a b -> Bijection' (f a) (f b)Source
class InjectionACofunctor f whereSource
Methods
iacomap :: InjectionA g => f b -> g a b -> f aSource
Instances
(Applicative a, InjectionACofunctor c) => InjectionACofunctor (Compose a c) |
class InjectionCofunctor f whereSource
class InjectionMCofunctor f whereSource
Methods
imcomap :: InjectionM g => f b -> g a b -> f aSource
class ExpFunctor f whereSource
class IncreasingFunctor f whereSource
Methods
incmap :: Increasing g => g a b -> f a -> f bSource
class StrictlyIncreasingFunctor f whereSource
Methods
sincmap :: StrictlyIncreasing g => g a b -> f a -> f bSource
Instances
functorCofunctorComap :: (Functor f, Cofunctor c) => Compose f c b -> (a -> b) -> Compose f c aSource
class Comonoidal f whereSource
Instances
Monoid m => Comonoidal (Constant m) | |
Monoid m => Comonoidal (RevFun m) | |
(Applicative a, Comonoidal c) => Comonoidal (Compose a c) |
functorIacomap :: (Functor f, InjectionA g) => f b -> g a b -> f aSource
cofunctorIacomap :: (Cofunctor f, InjectionA g) => f b -> g a b -> f aSource
Instances
Monoid m => Comonoidal (RevFun m) | |
Cofunctor (RevFun b) | |
Monoid b => Monoid (RevFun b a) | |
Structured (RevFun b0 a0) |