0.14.0.0
Breaking
- Move
Interrupt to polysemy-process to avoid the dependency on unix.
- Remove deprecated
Scoped.
0.12.0.0
Breaking
- Move
Scoped to Polysemy and polysemy-resume, keeping them here with a deprecation pragma.
0.11.0.0
Breaking
- Tweak the implementation of
Scoped interpreters to allow changing higher-order interpreters.
Slightly changes the signature of some of them.
0.10.0.0
Breaking
- Add a parameter to
Scoped that allows arbitrary data to be passed to the scoped interpreter via scoped.
- Remove the
resource parameter from Scoped.
Other
- Add
Queue.tryReadMaybe, a variant of readMaybe that does not wait.
- Add variants of the combined
Scoped interpreters in which the Resumable is inside the scope.
- Add
Semaphore, abstracting QSem or TSem.
- Add
timeoutStop, a variant of timeout that calls Polysemy.Resume.stop.
- Add
Lock, a mutex effect.
- Add
withAsyncGated, a variant of withAsync that requires the async action to signal the sync action to start.
- Add
Gate, a synchronization point effect.
- Add variants of
subscribeWhile and subscribeLoop that use Gate for synchronization and run in a new thread.
- Add pure interpreters for
Mask.
- Add more variants of
subscribeLoop that return matching elements.
- Add
Gates to ConcStack.
- Add
rescope, a reinterpreter for Scoped that may extend the scope parameters.
0.9.0.0
- Add the missing
MVar combinators for Sync that bracket an action with mask.
- Export
Restoration.
- Add
interpretProcessOutputLeft/Right.
0.6.1.0
- Add
SyncRead, a read-only variant of Sync.
- Change
withAsync to use finally instead of bracket, since the latter causes AsyncCancelled to be masked,
preventing the action from being cancelled unless it runs an interruptible action.
0.6.0.0
- Add
Resumable support for Scoped.
- Add
Scoped interpreters that allow the allocator to interpret additional effects used by the handler.
0.5.0.0
- Add
mask effects.
- Add
Monitor, an effect that repeatedly checks a condition and restarts a region when it is met.
- Add interpreter combinators for
Scoped.
- Add a runner for the default
Conc stack.
0.4.0.0
- Add
lock, a combinator for protecting a region with a mutex.
- Add
scheduleAsync, a combinator for running an action async that allows the handle to be used before the thread
starts
- Change the default signal handler for
Interrupt to CatchInfo, catching repeated signals.
0.3.0.0
- Change
Race.timeout to take a Sem for the fallback instead of a pure value.
- Export all
Queue constructors from Polysemy.Conc.Queue.
- Export all
Sync constructors from Polysemy.Conc.Sync.
- Move all interpreters to
Polysemy.Conc.Interpreter.
0.2.0.0
- Add
read* constructors for Sync
- Add
subscribeWhile, a combinator that consumes events until a condition is met
- Add looping combinators for
Queue
- Add
retry, a combinator that runs an action repeatedly until it returns Right or a timeout is hit
- Add
Scoped, an effect for local resource scoping
- Add
withAsync, a bracketing combinator that runs an async action while the main action runs
- Add
interpretAtomic, a convenience interpreter for AtomicState that runs runAtomicStateTVar