atomic-primops: A safe approach to CAS and other atomic ops in Haskell.
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.
|Versions [faq]||0.1.0.0, 0.1.0.2, 0.2.2, 0.2.2.1, 0.3, 0.4, 0.5, 0.5.0.2, 0.6, 0.6.0.5, 0.6.0.6, 0.6.1, 0.6.1.1, 0.7, 0.8, 0.8.0.2, 0.8.0.3, 0.8.0.4, 0.8.1, 0.8.1.1, 0.8.2 (info)|
|Dependencies||base (>=220.127.116.11 && <4.13), ghc-prim, primitive [details]|
|Revised||Revision 1 made by ryanglscott at Sun Jul 1 11:31:17 UTC 2018|
|Source repo||head: git clone https://github.com/rrnewton/haskell-lockfree/(atomic-primops)|
|Uploaded||by ryanglscott at Fri Mar 9 00:47:12 UTC 2018|
|Distributions||FreeBSD:0.8, LTSHaskell:0.8.2, NixOS:0.8.2, Stackage:0.8.2|
|Downloads||16617 total (470 in the last 30 days)|
|Rating||2.0 (votes: 1) [estimated by rule of succession]|
Docs available [build log]
Last success reported on 2018-03-09 [all 1 reports]
Enable extra internal checks.
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
- atomic-primops-0.8.2.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
For package maintainers and hackage trustees