-- 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