IORefCAS: Atomic compare and swap for IORefs and CASRefs.
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.
Versions [faq] | 0.0.1, 0.0.1.1, 0.0.1.2, 0.1.0.1, 0.2, 0.2.0.1 |
---|---|
Dependencies | base (>=4.4.0.0 && <4.7), bits-atomic, ghc-prim [details] |
License | BSD-3-Clause |
Author | Adam C. Foltzer, Ryan Newton |
Maintainer | acfoltzer@gmail.com, rrnewton@gmail.com |
Revised | Revision 1 made by HerbertValerioRiedel at Sun Sep 30 15:28:51 UTC 2018 |
Category | Data |
Uploaded | by RyanNewton at Wed Dec 7 20:47:19 UTC 2011 |
Distributions | NixOS:0.2.0.1 |
Downloads | 3416 total (110 in the last 30 days) |
Rating | (no votes yet) [estimated by rule of succession] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |
Modules
[Index]
Downloads
- IORefCAS-0.0.1.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'.