RoyalMonad-1000.0: All hail the Royal Monad!

Safe HaskellSafe-Inferred
LanguageHaskell98

Control.Monad.Royal

Documentation

class RoyalReturn m r where Source

Methods

royalReturn :: r a -> m a Source

Instances

class (RoyalReturn m r, RoyalReturn n r, RoyalReturn p r) => RoyalMonad m n p r where Source

Methods

royalBind :: m a -> (r a -> n a) -> p a Source

Instances

Monad m => RoyalMonad m m m Id 
PolyMonad m n p => RoyalMonad m n p Id 

class RoyalReturn m r => RelMonad m r where Source

Methods

relativeBind :: m a -> (r a -> m b) -> m b Source

class NonRoyalReturn m where Source

Methods

rreturn :: a -> m a Source

Instances

class (NonRoyalReturn m, NonRoyalReturn n, NonRoyalReturn p) => PolyMonad m n p where Source

Methods

polyBind :: m a -> (a -> n b) -> p b Source

newtype Id a Source

Constructors

Id 

Fields

fromId :: a
 

Instances

NonRoyalReturn m => RoyalReturn m Id 
Monad m => RoyalMonad m m m Id 
PolyMonad m n p => RoyalMonad m n p Id