[ 18:52:54 pgj ] ghclang Compiler for the functional language Haskell
hs-IORefCASdevel 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 (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.
Obtained from: FreeBSD Haskell