Repository navigation
v1.3.0
Major library restructuring utilizing the "multiple sub-libraries" package feature of Cabal.
This restructuring allows for an "opt-in" dependency footprint for the bv-little package, as not all type-class instances which are defined are exposed by default.
Therefore library consumers can select which, if any type-class instances outside of base the wish to have exposed and transitively depend on the associated package(s).
New type-class instance exposure procedure:
-
All
BitVectorinstances of type-classes defined inbaseare exported by default from theData.BitVector.LittleEndianmodule. -
Each
BitVectorinstance of a type-class defined in a package other thanbaseis exposed through a specific sub-library dependency and a special exposing module.
To access an instance of a type-class defined outside base, add the requisite sub-library to your build-depends and import the corresponding exposing module within your code-base.
| Sub-library Dependency | Exposing Module | Type-class Instance(s) |
|---|---|---|
bv-little:instances-binary |
Data.BitVector.LittleEndian.Binary |
|
bv-little:instances-mono-traversable |
Data.BitVector.LittleEndian.MonoTraversable |
|
bv-little:instances-mono-traversable-keys |
Data.BitVector.LittleEndian.MonoKeyed |
|
bv-little:instances-quickcheck |
Data.BitVector.LittleEndian.QuickCheck |
|
bv-little:instances-text-show |
Data.BitVector.LittleEndian.TextShow |
|