After GHC 7.4 a new
casMutVar#primop became available, but it's difficult to use safely, because pointer equality is a highly unstable property in Haskell. This library provides a safer method based on the concept of "Tickets".
Also, this library uses the "foreign primop" capability of GHC to add access to other variants that may be of interest, specifically, compare and swap inside an array.
Note that as of GHC 7.8, the relevant primops have been included in GHC itself. This library is engineered to work pre- and post-GHC-7.8, while exposing the same interface.
Changes in 0.3:
enable support for executables that are NOT built with '-threaded'.
Changes in 0.4:
Further internal changes, duplicate 'cas' routine well as barriers.
Unboxed counter variant that uses movable "ByteArray"s on the GHC
Changes in 0.5:
Changes in 0.5.0.2:
Changes in 0.6.1
fixes and adds atomicModifyIORefCAS.
Changes in 0.7:
Changes in 0.8:
Changes in 0.8.0.4:
|Package Version||Update ID||Released||Package Hub Version||Platforms||Subpackages|
|0.8.4-bp154.1.12 info||GA Release||2022-05-09||15 SP4||
|0.8.0.4-bp150.1.3 info||GA Release||2018-07-30||15||