-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | An extension removing the sequentiality from monads -- -- An extension removing the sequentiality from monads @package unsequential @version 0.5.2 module Unsequential -- | Allows to use the Applicative interface to compose the actions -- of the base monad while being abstracted from the order of their -- successful execution. data Unsequential m a -- | Runs Unsequential given an implementation of the "skip" effect. -- -- The "skip" effect can be just return () in case you don't -- want skipping or mzero if you want to fail on the attempt to -- skip. runUnsequential :: MonadPlus m => Unsequential m a -> m () -> m a -- | Lift a computation in the base monad. -- -- Same as lift. unsequential :: Monad m => m a -> Unsequential m a instance GHC.Base.Functor m => GHC.Base.Functor (Unsequential.Unsequential m) instance GHC.Base.Applicative m => GHC.Base.Applicative (Unsequential.Unsequential m) instance Control.Monad.Trans.Class.MonadTrans Unsequential.Unsequential