Module

Control.IxMonad

Package
purescript-indexed-monad
Repository
garyb/purescript-indexed-monad

#IxMonad Source

class IxMonad m  where

Members

  • ipure :: forall x a. a -> m x x a
  • ibind :: forall z y x b a. m x y a -> (a -> m y z b) -> m x z b

#(:>>=) Source

Operator alias for Control.IxMonad.ibind (left-associative / precedence 1)

#ibindFlipped Source

ibindFlipped :: forall z y x b a m. IxMonad m => (a -> m y z b) -> m x y a -> m x z b

#(=<<:) Source

Operator alias for Control.IxMonad.ibindFlipped (right-associative / precedence 1)

#ijoin Source

ijoin :: forall a x y z m. IxMonad m => m x y (m y z a) -> m x z a

#composeiKleisli Source

composeiKleisli :: forall z y x c b a m. IxMonad m => (a -> m x y b) -> (b -> m y z c) -> a -> m x z c

#(:>=>) Source

Operator alias for Control.IxMonad.composeiKleisli (right-associative / precedence 1)

#composeiKleisliFlipped Source

composeiKleisliFlipped :: forall z y x c b a m. IxMonad m => (b -> m y z c) -> (a -> m x y b) -> a -> m x z c

#(<=<:) Source

Operator alias for Control.IxMonad.composeiKleisliFlipped (right-associative / precedence 1)

#iapplyFirst Source

iapplyFirst :: forall b a z y x m. IxMonad m => m x y a -> m y z b -> m x z a

#(<*:) Source

Operator alias for Control.IxMonad.iapplyFirst (left-associative / precedence 4)

#iapplySecond Source

iapplySecond :: forall b a z y x m. IxMonad m => m x y a -> m y z b -> m x z b

#(:*>) Source

Operator alias for Control.IxMonad.iapplySecond (left-associative / precedence 4)