MHask: The category of monads

[ bsd3, control, library ] [ Propose Tags ]

MHask is the category where

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

Versions [RSS] [faq],,
Dependencies base (>=2 && <4.7), transformers (>=0.3) [details]
License BSD-3-Clause
Author Dan Burton
Category Control
Home page
Source repo head: git clone git://
this: git clone git:// MHask-
Uploaded by DanBurton at 2013-08-06T09:02:47Z
Distributions NixOS:
Downloads 2657 total (10 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]




Maintainer's Corner

For package maintainers and hackage trustees