Portability | non-portable (functional-dependencies) |
---|---|

Stability | experimental |

Maintainer | Edward Kmett <ekmett@gmail.com> |

A more categorical definition of Functor than endofunctors in the category Hask

# Documentation

class (Category r, Category t) => PFunctor p r t | p r -> t, p t -> r whereSource

PFunctor Either Hask Hask | |

PFunctor (,) Hask Hask | |

PFunctor Coreader Hask Hask | |

Functor f => PFunctor (CoreaderT f) Hask Hask | |

PFunctor (IxState i) Hask Hask | |

PFunctor (PHyper h) Hask Hask | |

PFunctor (Const2 t) Hask Hask | |

QFunctor p Hask Hask => PFunctor (Flip p) Hask Hask | |

Monad m => PFunctor (IxStateT m i) Hask Hask | |

(Functor f, PFunctor p Hask Hask) => PFunctor (Of f p) Hask Hask | |

(Functor f, PFunctor p Hask Hask) => PFunctor (Biff p f g) Hask Hask | |

(Bifunctor p c d Hask, PFunctor f a c, PFunctor g a d) => PFunctor (Comp p f g) a Hask |

class (Category s, Category t) => QFunctor q s t | q s -> t, q t -> s whereSource

QFunctor (->) Hask Hask | |

QFunctor Either Hask Hask | |

QFunctor (,) Hask Hask | |

QFunctor Coreader Hask Hask | |

Functor f => QFunctor (CoreaderT f) Hask Hask | |

QFunctor (IxState i) Hask Hask | |

ContraFunctor h => QFunctor (PHyper h) Hask Hask | |

QFunctor (Const2 t) Hask Hask | |

PFunctor p Hask Hask => QFunctor (Flip p) Hask Hask | |

Monad m => QFunctor (IxStateT m i) Hask Hask | |

(Functor f, QFunctor p Hask Hask) => QFunctor (Of f p) Hask Hask | |

(QFunctor q Hask Hask, Functor g) => QFunctor (Biff q f g) Hask Hask | |

(Bifunctor p c d Hask, QFunctor f b c, QFunctor g b d) => QFunctor (Comp p f g) b Hask |

class (PFunctor p r t, QFunctor p s t) => Bifunctor p r s t | p r -> s t, p s -> r t, p t -> r s whereSource

Bifunctor Either Hask Hask Hask | |

Bifunctor (,) Hask Hask Hask | |

Bifunctor Coreader Hask Hask Hask | |

Functor f => Bifunctor (CoreaderT f) Hask Hask Hask | |

Bifunctor (IxState i) Hask Hask Hask | |

ContraFunctor h => Bifunctor (PHyper h) Hask Hask Hask | |

Bifunctor (Const2 t) Hask Hask Hask | |

Bifunctor p Hask Hask Hask => Bifunctor (Flip p) Hask Hask Hask | |

Monad m => Bifunctor (IxStateT m i) Hask Hask Hask | |

(Functor f, Bifunctor p Hask Hask Hask) => Bifunctor (Of f p) Hask Hask Hask | |

(Functor f, Bifunctor p Hask Hask Hask, Functor g) => Bifunctor (Biff p f g) Hask Hask Hask | |

(Bifunctor p c d Hask, Bifunctor f a b c, Bifunctor g a b d) => Bifunctor (Comp p f g) a b Hask |