extensible-effects-concurrent-0.3.0.1: Message passing concurrency as extensible-effect

Safe HaskellNone
LanguageHaskell2010

Control.Eff.Concurrent.Process.SingleThreadedScheduler

Description

A coroutine based, single threaded scheduler for Processes.

Synopsis

Documentation

schedule :: forall r. Eff (Process r ': r) () -> Eff r () Source #

Execute a Process in the current thread, all child processes spawned by spawn will be executed concurrently using a co-routine based, round-robin scheduler.

scheduleWithYield :: forall r. Eff r () -> Eff (Process r ': r) () -> Eff r () Source #

Execute a Process in the current thread, all child processes spawned by spawn will be executed concurrently using a co-routine based, round-robin scheduler.

defaultMain :: HasCallStack => Eff '[Process '[Logs String, Lift IO], Logs String, Lift IO] () -> IO () Source #

Execute a Process using schedule on top of Lift IO and Logs String effects.

type LoggingAndIo = '[Logs String, Lift IO] Source #

The concrete list of Effects for running this pure scheduler on IO and with string logging.