The bitvec package

[Tags:library, public-domain, test]

Another bit-array library for Haskell. This one defines a Bit type (which is an instance of all the expected classes, including numeric ones) and makes that type an instance of `Data.Vector.Unboxed. Unbox`, so we get a lot of nice APIs for free. Bool is already an unboxable type, but the current unboxed Vector implementation packs each bit as a byte. This one packs 8 bits per byte, as expected (UArray from the array package also uses one bit per Bool).

In addition to the Vector interface, there are several high-level operations and some low-level ones suitable for building new bulk operations by viewing the bit-vector as a word vector.


Versions 0.1,,
Dependencies base (>=3 && <5), primitive, vector (>=0.8) [details]
License PublicDomain
Author James Cook <>
Maintainer James Cook <>
Stability experimental
Category Data, Bit Vectors
Home page
Source repository head: git clone git://
Uploaded Sat May 14 22:28:24 UTC 2016 by JamesCook
Distributions NixOS:
Downloads 695 total (11 in the last 30 days)
0 []
Status Docs pending
Build status unknown [no reports yet]


  • Data
    • Data.Bit
    • Vector
      • Unboxed
        • Data.Vector.Unboxed.Bit
        • Mutable
          • Data.Vector.Unboxed.Mutable.Bit


Maintainer's Corner

For package maintainers and hackage trustees