Module
Control.Monad.Logic.Class
- Package
- purescript-logic
- Repository
- mlang/purescript-logic
#MonadLogic Source
class (MonadPlus m) <= MonadLogic m where
Members
msplit :: forall a. m a -> m (Maybe (Tuple a (m a)))
interleave :: forall a. m a -> m a -> m a
Instances
MonadLogic Array
MonadLogic CatList
(Monoid e, MonadLogic m) => MonadLogic (ExceptT e m)
(MonadLogic m) => MonadLogic (MaybeT m)
(Monad f) => MonadLogic (MealyT f s)
(MonadLogic m) => MonadLogic (ReaderT e m)
(MonadLogic m) => MonadLogic (StateT s m)
(Monoid w, MonadLogic m) => MonadLogic (WriterT w m)
#fairConjunction Source
fairConjunction :: forall b a m. MonadLogic m => m a -> (a -> m b) -> m b
#(>>-) Source
Operator alias for Control.Monad.Logic.Class.fairConjunction (non-associative / precedence 6)
#ifte Source
ifte :: forall b a m. MonadLogic m => m a -> (a -> m b) -> m b -> m b
#once Source
once :: forall a m. MonadLogic m => m a -> m a
#when Source
when :: forall b a m. MonadLogic m => m a -> (a -> m b) -> m b
#lnot Source
lnot :: forall a m. MonadLogic m => m a -> m Unit
- Modules
- Control.
Monad. Logic. Class