packages feed

scheduler-2.0.0: CHANGELOG.md

# 2.0.0

* Switch type parameter of `Scheduler` from monad `m` to state token `s`. Which
  also means that constraints on many functions got tighter (i.e. `MonadPrim`, `MonadPrimBase`)
* Remove `m` type parameter for `SchedulerWS`, since it can only work in `IO` like monad anyways.
* Switch type parameter of `Batch` from monad `m` to state token `s`.
* Swap order of arguments for `replicateWork` for consistency
* Add `replicateWork_` that is slightly more efficient than `replicateWork`

# 1.5.0

Despite that the major part of the version was bumped up, this release does not include
any breaking changes, only improvements and additions.

* Addition of a batch concept with `BacthId` which:

  * makes it possible for a `Scheduler` to be "resumable" with the help of `waitForBatch`,
    `waitForBatch_` and `waitForBatchR`
  * allows to cancel batches prematurely while keeping the results and not terminating the
    scheduler itself. This can be done with new functions: `cancelBatch` and
    `cancelBatchWith`. In order to check for batch status `getCurrentBatchId` and
    `hasBatchFinished` functions can be used.

* Addition of `GlobalScheduler` that can be reused throughout the codebase, thus reducing
  initialization overhead.

# 1.4.2

* Add `withTrivialScheduler`
* Add `Results` data type as well as corresponding functions:
  * `withSchedulerR`
  * `withSchedulerWSR`
  * `withTrivialSchedulerR`

# 1.4.1

* Add functions: `replicateWork`

# 1.4.0

* Worker id has been promoted from `Int` to a `newtype` wrapper `WorkerId`.
* Addition of `SchedulerWS` and `WorkerStates` data types. As well as the
  related `MutexException`
* Functions that came along with stateful worker threads:
  * `initWorkerStates`
  * `workerStatesComp`
  * `scheduleWorkState`
  * `scheduleWorkState_`
  * `withSchedulerWS`
  * `withSchedulerWS_`
  * `unwrapSchedulerWS`
* Made internal modules accessible, but invisible.

# 1.3.0

* Make sure internal `Scheduler` accessor functions are no longer exported, they only
  cause breakage.
* Make sure number of capabilities does not change through out the program execution, as
  far as `scheduler` is concerned.

# 1.2.0

* Addition of `scheduleWorkId` and `scheduleWorkId_`

# 1.1.0

* Add functions: `replicateConcurrently` and `replicateConcurrently_`
* Made `traverseConcurrently_` lazy, thus making it possible to apply to infinite lists and other such
  foldables.
* Fix `Monoid` instance for `Comp`
* Addition of `Par'` pattern

# 1.0.0

Initial release.