Changelog for scheduler-2.0.0
2.0.0
- Switch type parameter of
Scheduler
from monadm
to state tokens
. Which also means that constraints on many functions got tighter (i.e.MonadPrim
,MonadPrimBase
) - Remove
m
type parameter forSchedulerWS
, since it can only work inIO
like monad anyways. - Switch type parameter of
Batch
from monadm
to state tokens
. - Swap order of arguments for
replicateWork
for consistency - Add
replicateWork_
that is slightly more efficient thanreplicateWork
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 ofwaitForBatch
,waitForBatch_
andwaitForBatchR
- allows to cancel batches prematurely while keeping the results and not terminating the
scheduler itself. This can be done with new functions:
cancelBatch
andcancelBatchWith
. In order to check for batch statusgetCurrentBatchId
andhasBatchFinished
functions can be used.
- makes it possible for a
-
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 anewtype
wrapperWorkerId
. - Addition of
SchedulerWS
andWorkerStates
data types. As well as the relatedMutexException
- 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
andscheduleWorkId_
1.1.0
- Add functions:
replicateConcurrently
andreplicateConcurrently_
- Made
traverseConcurrently_
lazy, thus making it possible to apply to infinite lists and other such foldables. - Fix
Monoid
instance forComp
- Addition of
Par'
pattern
1.0.0
Initial release.