Module
Control.Parallel
- Package
- purescript-parallel
- Repository
- purescript/purescript-parallel
#parTraverse Source
parTraverse :: forall b a t m f. Parallel f m => Traversable t => (a -> m b) -> t a -> m (t b)Traverse a collection in parallel.
#parTraverse_ Source
parTraverse_ :: forall b a t m f. Parallel f m => Foldable t => (a -> m b) -> t a -> m UnitTraverse a collection in parallel, discarding any results.
#parSequence Source
parSequence :: forall f m t a. Parallel f m => Traversable t => t (m a) -> m (t a)#parOneOf Source
parOneOf :: forall f m t a. Parallel f m => Alternative f => Foldable t => Functor t => t (m a) -> m aRace a collection in parallel.
#parOneOfMap Source
parOneOfMap :: forall f m t b a. Parallel f m => Alternative f => Foldable t => Functor t => (a -> m b) -> t a -> m bRace a collection in parallel while mapping to some effect.
Re-exports from Control.Parallel.Class
#ParCont Source
newtype ParCont m aThe ParCont type constructor provides an Applicative instance
based on ContT Unit m, which waits for multiple continuations to be
resumed simultaneously.
ParCont sections of code can be embedded in sequential code by using
the parallel and sequential functions:
loadModel :: ContT Unit (Eff (ajax :: AJAX)) Model
loadModel = do
token <- authenticate
sequential $
Model <$> parallel (get "/products/popular/" token)
<*> parallel (get "/categories/all" token)
Constructors
Instances
Newtype (ParCont m a) _(MonadEff eff m) => Functor (ParCont m)(MonadEff eff m) => Apply (ParCont m)(MonadEff eff m) => Applicative (ParCont m)(MonadEff eff m) => Alt (ParCont m)(MonadEff eff m) => Plus (ParCont m)(MonadEff eff m) => Alternative (ParCont m)(MonadEff eff m) => Parallel (ParCont m) (ContT Unit m)
#Parallel Source
class (Monad m, Applicative f) <= Parallel f m | m -> f, f -> m whereThe Parallel class abstracts over monads which support
parallel composition via some related Applicative.
Members
parallel :: m ~> fsequential :: f ~> m