Safe Haskell | None |
---|---|

Language | Haskell2010 |

# Coexponential profunctor

newtype Coexp s t b a Source #

Coexponentials are the dual of functions, consisting of an argument of type `a`

(derived within an environment of type `s`

) and a continuation from the return type `b`

(extending to the eventual result type `t`

). As such, they naturally have the shape of optics, relating the outer context `s -> t`

to the inner `a -> b`

.

#### Instances

Profunctor (Coexp s t) Source # | |

Defined in Fresnel.Profunctor.Coexp dimap :: (a -> b) -> (c -> d) -> Coexp s t b c -> Coexp s t a d lmap :: (a -> b) -> Coexp s t b c -> Coexp s t a c rmap :: (b -> c) -> Coexp s t a b -> Coexp s t a c (#.) :: forall a b c q. Coercible c b => q b c -> Coexp s t a b -> Coexp s t a c (.#) :: forall a b c q. Coercible b a => Coexp s t b c -> q a b -> Coexp s t a c | |

IsIso (Coexp s t) Source # | |

Defined in Fresnel.Iso.Internal | |

Functor (Coexp s t b) Source # | |

Monoid t => Applicative (Coexp s t b) Source # | |

Defined in Fresnel.Profunctor.Coexp | |

Semigroup (Coexp a b b a) Source # | |

Monoid (Coexp a b b a) Source # | |