packages feed

MHask-0.2.0.0: MHask.cabal

name:                MHask
version:             0.2.0.0
synopsis:            The category of monads
description:         
  MHask is the category where
  .
  * The objects are Haskell types of kind @(* → *)@ that have an instance of `Prelude.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 `Prelude.id' function in Haskell,
  specialized to @(forall x. m x → m x)@
  .
  It is assumed that any instances of the classes provided here also have an instance
  for Monad of the form @instance (Monad m) ⇒ Monad (t m)@, thus guaranteeing that @(t m)@
  (or @(t i j m)@ for the indexed types) is always a Monad. If it were valid Haskell, I'd write:
  .
  > class (forall m. Monad m ⇒ Monad (t m)) ⇒ Functor t
  .
  'MHask.Functor.Functor' should actually be called Endofunctor, because if m is an object in MHask,
  then an instance t of `Functor' can map object m to object (t m), and arrows from 
  m to n get mapped to arrows from (t m) to (t n).


homepage:            https://github.com/DanBurton/MHask#readme
license:             BSD3
license-file:        LICENSE
author:              Dan Burton
maintainer:          danburton.email@gmail.com
category:            Control
build-type:          Simple
cabal-version:       >=1.8

source-repository head
  type:     git
  location: git://github.com/DanBurton/MHask.git

source-repository this
  type:     git
  location: git://github.com/DanBurton/MHask.git
  tag:      MHask-0.2.0.0

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

  build-depends:       base >= 2 && < 4.7, transformers >= 0.3