@hackage / acme-cofunctor

A Cofunctor is a structure from category theory dual to Functor

Latest0.1.1.0

About

Metadata

  • Last updated , by JasperVanDerJeugt
  • License BSD-3-Clause
  • Maintained by: Jasper Van der Jeugt <m@jaspervdj.be>

  • Lottery factor: 0

Links

Installation

Readme

acme-cofunctor

A Cofunctor is a structure from category theory dual to Functor.

We all know that 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.