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 libgcc_s.so while ignoring e.g. libgcc_s.so.1. A possible workaround for GHCi on a linux system: ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so. 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:

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0, 0.1.1, 0.1.2, 0.1.3
Dependencies base (>=4 && <6) [details]
License BSD-3-Clause
Author Gabriel Wicke <wicke@wikidev.net>
Maintainer Gabriel Wicke <wicke@wikidev.net>
Category Data, Concurrency, Foreign
Source repo head: hg clone http://dev.wikidev.net/hg/bits-extras/
Uploaded by GabrielWicke at 2010-08-29T07:56:49Z
Distributions
Reverse Dependencies 4 direct, 0 indirect [details]
Downloads 4375 total (12 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]