flexiwrap-0.0.1: Flexible wrappers

Data.Flex.Monad

Documentation

data FWReturn t m Source

Constructors

FWReturn 

Instances

Monad (o m n) => Apply (FWReturn t (o m n)) FWCTCDefaultMonad (WrapReturn (FWCTC t o m n)) 
Monad (FWCTC t o g f) => Apply (FWReturn t (FlipT o f g)) FWFlipMonad (WrapReturn (FWCTC t (FlipT o) f g)) 
SComposable m n => Apply (FWReturn t (O m n)) FWCompS (WrapReturn (FWCTC t O m n)) 
DComposable m n => Apply (FWReturn t (O m n)) FWCompD (WrapReturn (FWCTC t O m n)) 
PComposable m n => Apply (FWReturn t (O m n)) FWCompP (WrapReturn (FWCTC t O m n)) 
Monad m => Apply (FWReturn t m) FWTDefaultMonad (WrapReturn (FWT t m)) 

newtype WrapReturn m Source

Constructors

WrapReturn 

Fields

unwrapReturn :: forall a. a -> m a
 

Instances

Monad (o m n) => Apply (FWReturn t (o m n)) FWCTCDefaultMonad (WrapReturn (FWCTC t o m n)) 
Monad (FWCTC t o g f) => Apply (FWReturn t (FlipT o f g)) FWFlipMonad (WrapReturn (FWCTC t (FlipT o) f g)) 
SComposable m n => Apply (FWReturn t (O m n)) FWCompS (WrapReturn (FWCTC t O m n)) 
DComposable m n => Apply (FWReturn t (O m n)) FWCompD (WrapReturn (FWCTC t O m n)) 
PComposable m n => Apply (FWReturn t (O m n)) FWCompP (WrapReturn (FWCTC t O m n)) 
Monad m => Apply (FWReturn t m) FWTDefaultMonad (WrapReturn (FWT t m)) 

wrapReturn :: (forall a. a -> m a) -> WrapReturn mSource

data FWBind t m Source

Constructors

FWBind 

Instances

Monad (o m n) => Apply (FWBind t (o m n)) FWCTCDefaultMonad (WrapBind (FWCTC t o m n)) 
Monad (FWCTC t o g f) => Apply (FWBind t (FlipT o f g)) FWFlipMonad (WrapBind (FWCTC t (FlipT o) f g)) 
SComposable m n => Apply (FWBind t (O m n)) FWCompS (WrapBind (FWCTC t O m n)) 
DComposable m n => Apply (FWBind t (O m n)) FWCompD (WrapBind (FWCTC t O m n)) 
PComposable m n => Apply (FWBind t (O m n)) FWCompP (WrapBind (FWCTC t O m n)) 
Monad m => Apply (FWBind t m) FWTDefaultMonad (WrapBind (FWT t m)) 

newtype WrapBind m Source

Constructors

WrapBind 

Fields

unwrapBind :: forall a b. m a -> (a -> m b) -> m b
 

Instances

Monad (o m n) => Apply (FWBind t (o m n)) FWCTCDefaultMonad (WrapBind (FWCTC t o m n)) 
Monad (FWCTC t o g f) => Apply (FWBind t (FlipT o f g)) FWFlipMonad (WrapBind (FWCTC t (FlipT o) f g)) 
SComposable m n => Apply (FWBind t (O m n)) FWCompS (WrapBind (FWCTC t O m n)) 
DComposable m n => Apply (FWBind t (O m n)) FWCompD (WrapBind (FWCTC t O m n)) 
PComposable m n => Apply (FWBind t (O m n)) FWCompP (WrapBind (FWCTC t O m n)) 
Monad m => Apply (FWBind t m) FWTDefaultMonad (WrapBind (FWT t m)) 

wrapBind :: (forall a b. m a -> (a -> m b) -> m b) -> WrapBind mSource