atomic-primops: A safe approach to CAS and other atomic ops in Haskell.

[ bsd3, data, library ] [ Propose Tags ]

WARNING: Your program MUST be built with "ghc -threaded" if you depend on this library. The library depends on threaded Haskell RTS, which is only conditionally linked. If you don't do this you will see an error at link time about "cas" being missing.

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.

Versions 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 (info)
Dependencies base (>=4.6.0.0 && <4.7), 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 Fri Jul 3 19:50:31 UTC 2015
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 Wed Jul 17 19:33:20 UTC 2013
Distributions FreeBSD:0.8, LTSHaskell:0.8.2, NixOS:0.8.2, Stackage:0.8.2, openSUSE:0.8.2
Downloads 13591 total (125 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

Modules

[Index]

Flags

NameDescriptionDefaultType
debug

Enable extra internal checks.

DisabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

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