BSD-3-Clause licensed by Claude Heiland-Allen
This version can be pinned in stack with:bitwise-1.0.0.1@sha256:74be2244a58860cae94ab1875e0bfdb4d9c3b35df46f783d01e7f886ff362d00,3111
Module documentation for 1.0.0.1
Unboxed multidimensional bit packed Bool arrays with fast aggregate
operations based on lifting Bool operations to bitwise operations.
There are many other bit packed structures out there, but none met
all of these requirements:
- unboxed bit packed Bool array, 
- multi-dimensional indexing, 
- fast (de)serialization, or interoperable with foreign code, 
- fast aggregate operations (fold, map, zip). 
Quick tour of the bitwise library:
- Data.Bits.Bitwise
- Lift boolean operations on Boolto bitwise
operations onData.Bits.Bits.
- Data.Array.BitArray
- Immutable bit arrays.
- Data.Array.BitArray.ST
- Mutable bit arrays in Control.Monad.ST.ST.
- Data.Array.BitArray.IO
- Mutable bit arrays in IO.
- Data.Array.BitArray.ByteString
- (De)serialization.
- Codec.Image.PBM
- Portable bitmap monochrome 2D image format.
Very rough performance benchmarks:
- immutable random access single bit reads:
- BitArray ixis about 40% slower than- UArray ix Bool,
 
- Control.Monad.ST.STmutable random access single bit reads:- STBitArray s ixis about the same as- STUArray s ix Bool,
 
- immutable map - Bool -> Bool:- BitArray ixis about 85x faster than- UArray ix Bool,
 
- immutable zipWith - Bool -> Bool -> Bool:- BitArray ixis about 1300x faster than- UArray ix Bool.