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.
Changes in 0.3:
Major internal change. Duplicate the barrier code from the GHC RTS and thus enable support for executables that are NOT built with '-threaded'.
Changes in 0.4:
Further internal changes, duplicate
casroutine well as barriers.Add
fetchAddByteArrayIntAdd an
Unboxedcounter variant that uses movable ByteArray s on the GHC heap.
Changes in 0.5:
Remove dependency on bits-atomic unless a flag is turned on.
Flags
Automatic Flags
| Name | Description | Default |
|---|---|---|
| debug | Enable extra internal checks. | Disabled |
| foreign | Enable a dependency on bits-atomic and in turn provide a foreign implementation of Counter. | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- atomic-primops-0.5.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'.
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 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, 0.8.3, 0.8.4, 0.8.5, 0.8.6, 0.8.7, 0.8.8 (info) |
|---|---|
| Dependencies | base (>=4.6.0.0 && <=4.7.0.0), bits-atomic , Cabal , ghc-prim , primitive [details] |
| License | BSD-3-Clause |
| Author | Ryan Newton |
| Maintainer | rrnewton@gmail.com |
| Revised | Revision 1 made by AdamBergmark at 2015年07月03日T19:50:05Z |
| Category | Data |
| Home page | https://github.com/rrnewton/haskell-lockfree-queue/wiki |
| Source repo | head: git clone git://github.com/rrnewton/haskell-lockfree-queue.git |
| Uploaded | by RyanNewton at 2014年01月23日T15:20:19Z |
| Distributions | Arch:0.8.8, FreeBSD:0.8, LTSHaskell:0.8.8, NixOS:0.8.8, Stackage:0.8.8 |
| Reverse Dependencies | 32 direct, 3961 indirect [details] |
| Downloads | 48709 total (91 in the last 30 days) |
| Rating | 2.0 (votes: 1) [estimated by Bayesian average] |
| Your Rating |
|
| Status | Docs available [build log] Successful builds reported [all 1 reports] |