MHask-0.1.0.0: MHask.cabal
-- Initial MHask.cabal generated by cabal init. For further documentation,
-- see http://haskell.org/cabal/users-guide/
name: MHask
version: 0.1.0.0
synopsis: The category of monads
category: Control
description:
MHask is the category where
.
* The objects are Haskell types of kind (* -> *) that have an instance of Monad
* An arrow from object m to object n is a Haskell function of the form (forall x. m x -> n x)
* Arrow composition is merely a specialization of Haskell function composition
* The identity arrow for the object m is the id function in Haskell, specialized to (forall x. m x -> m x)
.
Functor should actually be called Endofunctor, because if m is an object in MHask,
then an instance t of Functor can transform object m into object (t m).
You will see *a lot* of constraints in the type classes defined herein.
Though daunting at first, you will soon realize that they are *all* Prelude.Monad constraints,
and their interpretation is simply a guarantee that
"the objects of MHask are types of kind (* -> *) that have an instance of Monad."
homepage: https://github.com/DanBurton/MHask#readme
license: BSD3
license-file: LICENSE
author: Dan Burton
maintainer: danburton.email@gmail.com
-- copyright:
-- category:
build-type: Simple
cabal-version: >=1.8
library
exposed-modules: MHask, MHask.Comonad, MHask.Monad, MHask.Copointed, MHask.Pointed, MHask.Util, MHask.Functor, MHask.Indexed.Comonad, MHask.Indexed.Monad, MHask.Indexed.Copointed, MHask.Indexed.Pointed, MHask.Indexed.Functor
-- other-modules:
build-depends: base == 4.6.*, transformers >= 0.3