Name: acme-cofunctor
Version: 0.1.1.0
Synopsis: A Cofunctor is a structure from category theory dual to Functor
License: BSD3
License-file: LICENSE
Author: Jasper Van der Jeugt
Maintainer: Jasper Van der Jeugt
Copyright: 2014 Jasper Van der Jeugt
Category: Acme
Build-type: Simple
Cabal-version: >= 1.10
Homepage: https://github.com/jaspervdj/acme-cofunctor
Description:
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.
Extra-source-files:
README.md
CHANGELOG.md
Library
Default-language: Haskell98
Ghc-options: -Wall
Hs-source-dirs: src
Exposed-modules:
Data.Cofunctor,
Data.Cofunctor.Cocoyoneda
Build-depends:
base >= 4 && < 5
Source-repository head
Type: git
Location: https://github.com/jaspervdj/acme-cofunctor