1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
6 Atomic operations including CAS (compare-and-swap), fetch & add and variants
7 suitable for low-level shared-memory synchronization.
9 The implementation is using GCC's builtin atomic operations (available in GCC >=
10 4) in C wrappers called through the FFI. See these links for background:
12 * GCC manual: <https://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html>
14 * GCC wiki: <https://gcc.gnu.org/wiki/Atomic>
16 /Portability/: This package is primarily developed on a Linux system, but
17 should work wherever GCC >= 4 is available. It has been confirmed as working
18 on OSX. On Windows, it should work with Cygwin but currently fails for
19 vanilla Haskell-Platform 2010.1.0.0 as it still packages GCC 3.x. An
20 installer for updated versions of GCC is available at
21 <http://www.mingw.org/> and should make this package work in connection with
22 Haskell-Platform. Feedback on compatibility would be appreciated.
24 /Testing:/ The following commands can be used to compile and run the test suite:
26 > cabal unpack bits-atomic && cd bits-atomic-* # if not yet locally available
27 > cabal configure -ftest
33 * 0.1.3: Documentation updates, especially on portability. No functional
36 * 0.1.2: Avoid using System.FilePath in Setup.hs to fix build failure on hackage