bits-extras: Efficient atomic and non-atomic bit operations not found in Data.Bits

[ bsd3, data, library ] [ Propose Tags ]

Mostly wraps low-level bit operations provided by GCC builtins, which translate to specialized instructions where available.

Atomic operations include CAS (compare-and-swap), lock, fetch & add and similar primitives suitable for low-level shared-memory synchronization.

Primitives from the Extras subpackage would be useful to have in the proper Data.Bits package, although this would probably require broader support across different compiler backends.

The C code dynamically links to libgcc_s, which can cause problems in GHCi. GHCi does not currently support sonames and tries to open while ignoring e.g. A possible workaround for GHCi on a linux system: ln -s /lib/ /lib/ Let me know about any other solutions to this issue for GHCi. Regular GHC compilation uses the system linker with soname support and does not run into this issue.

Relevant Hackage tickets:

Versions 0.1.0, 0.1.1, 0.1.2, 0.1.3
Dependencies base (>=4 && <6) [details]
License BSD-3-Clause
Author Gabriel Wicke <>
Maintainer Gabriel Wicke <>
Category Data, Concurrency, Foreign
Source repo head: hg clone
Uploaded by GabrielWicke at Sun Aug 29 07:56:49 UTC 2010
Distributions NixOS:0.1.3
Downloads 2474 total (16 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees