HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Package0.8.8Data

atomic-primops

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

Modules

3 modules
  • Data.Atomics24Provides atomic memory operations on IORefs and Mutable Arrays. Pointer equality need not be maintained by a Haskell compiler. For examp…
  • Data.Atomics.Counter10Integer counters providing thread-safe, lock-free mutation functions. Atomic counters are represented by a single memory location, such that
Internal modules · 1

Description

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.

Depends on

3 packages

Used by in this set · 4