## Efficient little-endian bit vector Haskell library
[](https://travis-ci.org/recursion-ninja/bv-little)
[](https://github.com/recursion-ninja/bv-little/actions)
[](https://coveralls.io/github/recursion-ninja/bv-little?branch=master)
[](http://opensource.org/licenses/BSD-3-Clause)
[](https://hackage.haskell.org/package/bv-little)
[](https://matrix.hackage.haskell.org/package/bv-little)
[](http://stackage.org/lts/package/bv-little)
[](http://stackage.org/nightly/package/bv-little)
This package contains an efficient implementation of *little-endian, immutable* bit vectors. It implements most applicable type-classes and also conversions to and from signed or unsigned numbers.
For an implementation of *big-endian, immutable* bit vectors, use the [`bv`](https://hackage.haskell.org/package/bv) package.
For an implementation of *little-endian, mutable* bit vectors, use the [`bitvec`](https://hackage.haskell.org/package/bitvec) package.
#### Tests
The test suite ensures that all type-class instances are "lawful" and that data-structure–specific functionality is well defined.
The `TestSuite.hs` file contains the specification. It can be run by invoking any of the following commands:
* `cabal test`
* `stack test`
#### Benchmarks
The benchmarks provide an empyrical check for the asymptotic complexity of data structure operations and also provide easy metrics for detecting performance regressions.
The `Benchmarks.hs` file contains these metrics. It can be run by invoking any of the following commands:
* `cabal bench`
* `stack bench`