# acme-cofunctor: A Cofunctor is a structure from category theory dual to Functor

A `Cofunctor`

is a structure from category theory dual to `Functor`

.

A `Functor`

is defined by the operation `fmap`

:

fmap :: (a -> b) -> (f a -> f b)

This means that its dual must be defined by the following operation:

cofmap :: (b -> a) -> (f b -> f a)

Since beginning his investigations, the author of this package has discovered
that this pattern is *at least* as commonly used as `Functor`

. In fact, many
ubiquitous Haskell types (e.g. `[]`

, `Maybe`

, `((->) a)`

turn out to have a
`Cofunctor`

instance.

[Skip to Readme]

Versions [faq] | 0.1.0.0, 0.1.1.0 |
---|---|

Change log | CHANGELOG.md |

Dependencies | base (==4.*) [details] |

License | BSD-3-Clause |

Copyright | 2014 Jasper Van der Jeugt |

Author | Jasper Van der Jeugt <m@jaspervdj.be> |

Maintainer | Jasper Van der Jeugt <m@jaspervdj.be> |

Category | Acme |

Home page | https://github.com/jaspervdj/acme-cofunctor |

Source repo | head: git clone https://github.com/jaspervdj/acme-cofunctor |

Uploaded | by JasperVanDerJeugt at 2017-05-13T10:15:09Z |

Distributions | NixOS:0.1.1.0 |

Downloads | 1676 total (33 in the last 30 days) |

Rating | 2.0 (votes: 2) [estimated by Bayesian average] |

Your Rating | |

Status | Docs available [build log] Last success reported on 2017-05-13 [all 1 reports] |

## Downloads

- acme-cofunctor-0.1.1.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)