The atomic-primops package

[ Tags: bsd3, data, library ] [ Propose Tags ]

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.

Properties

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 (info)
Change log CHANGELOG.md
Dependencies base (>=4.6.0.0 && <4.11), ghc-prim, primitive [details]
License BSD3
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 repository head: git clone https://github.com/rrnewton/haskell-lockfree/(atomic-primops)
Uploaded Mon Jul 31 20:31:42 UTC 2017 by ryanglscott
Distributions FreeBSD:0.8, LTSHaskell:0.8.1, NixOS:0.8.1, Stackage:0.8.1, Tumbleweed:0.8.0.4
Downloads 8788 total (60 in the last 30 days)
Rating 0.0 (0 ratings) [clear rating]
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-07-31 [all 1 reports]
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

Maintainer's Corner

For package maintainers and hackage trustees