monad-schedule

A new, simple, composable concurrency abstraction.

Version on this page:0.1.2.1
LTS Haskell 22.37:0.1.2.2
Stackage Nightly 2024-10-11:0.2.0.1
Latest on Hackage:0.2.0.1

See all snapshots monad-schedule appears in

MIT licensed by Manuel Bärenz
Maintained by [email protected]
This version can be pinned in stack with:monad-schedule-0.1.2.1@sha256:95d6b9c6fd36f585e4a52938ebd1762c2e2caa8bb3c11ce86985dd11a2caae1a,1776

A monad m is said to allow scheduling if you can pass a number of actions m a to it, and those can be executed at the same time concurrently. You can observe the result of the actions after some time: Some actions will complete first, and the results of these are returned then as a list NonEmpty a. Other actions are still running, and for these you will receive continuations of type m a, which you can further run or schedule to completion as you like.

Changes

Revision history for monad-schedule

0.1.2.0 – 2022-06-26

  • Added test suite
  • Added further Writer instances
  • Fixed bug in ScheduleT and YieldT

0.1.1.0 – 2022-06-25

  • Added Yield scheduling monad
  • Added Identity instance

0.1.0.0 – 2022-03-27

  • Added MonadSchedule clas
  • Added free scheduling transformer ScheduleT
  • Added instances for common transformers