The IORefCAS package
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 (Data.CAS.Foreign). These alternatives are useful for debugging.
Note that the foreign option does not operate on IORefs and so is directly interchangeable with Data.CAS and 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 (>=188.8.131.52 && <5), bits-atomic, ghc-prim [details]|
|Author||Adam C. Foltzer, Ryan Newton|
|Source repository||head: git clone git://github.com/rrnewton/haskell-lockfree-queue.git|
|Uploaded||Tue May 7 17:53:11 UTC 2013 by RyanNewton|
|Downloads||2045 total (24 in the last 30 days)|
|Status||Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI
For package maintainers and hackage trustees