Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
data OrdinaryFunctorParam f Source
Functor f => Functor (OrdinaryFunctorParam f) Source | |
type FunctorCategory (OrdinaryFunctorParam f) = (->) Source | |
type FunctorOutput (OrdinaryFunctorParam f) t = f t Source | |
type FunctorInput (OrdinaryFunctorParam f) (_1 t) = t Source |
type family FunctorParam c t' Source
type FunctorInput f t Source
type FunctorOutput f t Source
type FunctorCategory f :: * -> * -> * Source
fmap :: (Category c, f ~ FunctorParam c a', f ~ FunctorParam c b', a ~ FunctorInput f a', b ~ FunctorInput f b', a' ~ FunctorOutput f a, b' ~ FunctorOutput f b, c ~ FunctorCategory f) => c a b -> c a' b' Source
Functor f => Functor (OrdinaryFunctorParam f) Source |
class ExoFunctor c c' where Source
exoMap :: (Category c, Category c', a ~ ExoInput c c' a', b ~ ExoInput c c' b', a' ~ ExoOutput c c' a, b' ~ ExoOutput c c' b) => c a b -> c' a' b' Source
ExoFunctor c c Source | |
Monad m => ExoFunctor (->) (Kleisli m) Source | |
Monad m => ExoFunctor (Kleisli m) (->) Source |
type family ContraFunctorParam c t' Source
type ContraFunctorParam (->) (_1 -> r) Source |
class ContraFunctor f where Source
type ContraFunctorInput f x Source
type ContraFunctorOutput f x Source
type ContraFunctorCategory f :: * -> * -> * Source
contramap :: (Category c, f ~ ContraFunctorParam c a', f ~ ContraFunctorParam c b', a ~ ContraFunctorInput f a', b ~ ContraFunctorInput f b', a' ~ ContraFunctorOutput f a, b' ~ ContraFunctorOutput f b, c ~ ContraFunctorCategory f) => c a b -> c b' a' Source
class ExoContraFunctor c c' where Source
type ExoContraInput c c' x Source
type ExoContraOutput c c' x Source
exoContraMap :: (Category c, Category c', a ~ ExoContraInput c c' a', b ~ ExoContraInput c c' b', a' ~ ExoContraOutput c c' a, b' ~ ExoContraOutput c c' b) => c a b -> c' b' a' Source