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

[ acme, bsd3, library ] [ Propose Tags ]

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.




Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],
Dependencies base (>=4 && <5) [details]
License BSD-3-Clause
Copyright 2014 Jasper Van der Jeugt
Author Jasper Van der Jeugt <>
Maintainer Jasper Van der Jeugt <>
Category Acme
Home page
Source repo head: git clone
Uploaded by JasperVanDerJeugt at 2014-11-28T16:23:30Z
Distributions NixOS:
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 2201 total (9 in the last 30 days)
Rating 2.0 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]