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.
.
Note that as of GHC 7.8, the relevant primops have been included in GHC itself.
This library is engineered to work pre- and post-GHC-7.8, while exposing the
same interface.
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
debug | Enable extra internal checks. | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- atomic-primops-0.8.8.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
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) |
---|---|
Change log | CHANGELOG.md |
Dependencies | base (>=4.8 && <5), ghc-prim, primitive [details] |
License | BSD-3-Clause |
Author | Ryan Newton |
Maintainer | rrnewton@gmail.com |
Category | Data |
Home page | https://github.com/rrnewton/haskell-lockfree/wiki |
Bug tracker | https://github.com/rrnewton/haskell-lockfree/issues |
Source repo | head: git clone https://github.com/rrnewton/haskell-lockfree/(atomic-primops) |
Uploaded | by ryanglscott at 2024-06-20T20:33:01Z |
Distributions | Arch:0.8.7, FreeBSD:0.8, LTSHaskell:0.8.8, NixOS:0.8.8, Stackage:0.8.8 |
Reverse Dependencies | 30 direct, 3829 indirect [details] |
Downloads | 46718 total (381 in the last 30 days) |
Rating | 2.0 (votes: 1) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2024-06-20 [all 1 reports] |