MHask: The category of monads
MHask is the category where
The objects are Haskell types of kind
(* → *)
that have an instance ofPrelude.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).
Modules
[Index]
Downloads
- MHask-0.3.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1.0.0, 0.2.0.0, 0.3.0.0 |
---|---|
Dependencies | base (>=2 && <4.7), transformers (>=0.3) [details] |
License | BSD-3-Clause |
Author | Dan Burton |
Maintainer | danburton.email@gmail.com |
Category | Control |
Home page | https://github.com/DanBurton/MHask#readme |
Source repo | head: git clone git://github.com/DanBurton/MHask.git this: git clone git://github.com/DanBurton/MHask.git(tag MHask-0.3.0.0) |
Uploaded | by DanBurton at 2013-08-06T09:02:47Z |
Distributions | |
Reverse Dependencies | 1 direct, 0 indirect [details] |
Downloads | 2969 total (9 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |