IORefCAS: Atomic compare and swap for IORefs and STRefs.
After GHC 7.2 a new
casMutVar# primop became available, but was
not yet exposed in Data.IORef. This package fills that gap until
such a time as Data.IORef obsoletes it.
Further, in addition to exposing native Haskell CAS operations, this
package contains "mockups" that imititate the same functionality
using either atomicModifyIORef and unsafe pointer equality (in
Data.CAS.Fake) or using foreign functions (
These alternatives are useful for debugging.
Note that the foreign option does not operate on IORefs and so is
directly interchangeable with
Data.CAS.Fake only if
the interface in
Data.CAS.Class is used.
[Skip to Readme]
|Versions||0.0.1, 0.0.1.1, 0.0.1.2, 0.1.0.1, 0.2, 0.2.0.1|
|Dependencies||base (>=126.96.36.199 && <5), bits-atomic, ghc-prim [details]|
|Author||Adam C. Foltzer, Ryan Newton|
|Source repo||head: git clone git://github.com/rrnewton/haskell-lockfree-queue.git|
|Uploaded||by RyanNewton at Tue May 7 17:53:11 UTC 2013|
|Downloads||2998 total (20 in the last 30 days)|
|Rating||(no votes yet) [estimated by rule of succession]|
|Status||Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI
For package maintainers and hackage trustees