bv-little-1.3.2: bv-little.cabal
Cabal-Version: 3.0
Name: bv-little
Version: 1.3.2
Stability: Stable
Build-Type: Simple
Tested-With:
GHC == 9.6.2
GHC == 9.4.5
GHC == 9.2.8
GHC == 9.2.3
Author: Alex Washburn
Copyright: (c) Alex Washburn 2020
License: BSD-3-Clause
License-File: LICENSE
Maintainer: hackage@recursion.ninja
Homepage: https://github.com/recursion-ninja/bv-little
Bug-Reports: https://github.com/recursion-ninja/bv-little/issues
Synopsis: Efficient little-endian bit vector library
Category: Data, Bit Vectors
Description:
.
This package contains a time- and space- efficient implementation of /little-endian, immutable/ bit vectors. Provides implementations of applicable typeclasses and numeric conversions.
.
The declared cost of each operation is either worst-case or amortized.
.
For an implementation of /big-endian, immutable/ bit vectors use the <https://hackage.haskell.org/package/bv bv> package.
.
For an implementation of /little-endian, mutable/ bit vectors, use the <https://hackage.haskell.org/package/bitvec bitvec> package.
Extra-Source-Files:
stack.yaml
Extra-Doc-Files:
changelog.md
README.md
Source-repository head
type: git
location: https://github.com/recursion-ninja/bv-little
Common language
default-extensions:
NoGeneralizedNewtypeDeriving
default-language:
GHC2021
Library core
import:
language
build-depends:
base >= 4.16.1 && < 5,
deepseq >= 1.4.6,
hashable >= 1.3,
integer-gmp >= 1.1,
primitive >= 0.7.2,
exposed-modules:
Data.BitVector.LittleEndian.Internal
hs-source-dirs:
src/core
visibility:
private
Library instances
import:
language
build-depends:
bv-little:instances-binary,
bv-little:instances-mono-traversable,
bv-little:instances-mono-traversable-keys,
bv-little:instances-quickcheck,
bv-little:instances-text-show,
exposed-modules:
Data.BitVector.LittleEndian.Instances
hs-source-dirs:
src/full
visibility:
public
Library instances-binary
import:
language
build-depends:
base >= 4.16.1 && < 5,
binary >= 0.8,
bv-little,
bv-little:core,
exposed-modules:
Data.BitVector.LittleEndian.Binary
hs-source-dirs:
src/libs
visibility:
public
Library instances-mono-traversable
import:
language
build-depends:
base >= 4.16.1 && < 5,
bv-little,
bv-little:core,
mono-traversable >= 1.0.5.0 && >= 1.0
exposed-modules:
Data.BitVector.LittleEndian.MonoTraversable
hs-source-dirs:
src/libs
visibility:
public
Library instances-mono-traversable-keys
import:
language
build-depends:
base >= 4.16.1 && < 5,
bv-little,
bv-little:core,
bv-little:instances-mono-traversable,
keys >= 3.12,
mono-traversable >= 1.0.5.0,
mono-traversable-keys >= 0.2,
exposed-modules:
Data.BitVector.LittleEndian.MonoKeyed
hs-source-dirs:
src/keys
visibility:
public
Library instances-quickcheck
import:
language
build-depends:
base >= 4.16.1 && < 5,
bv-little,
bv-little:core,
QuickCheck >= 2.14.2
exposed-modules:
Data.BitVector.LittleEndian.QuickCheck
hs-source-dirs:
src/libs
visibility:
public
Library instances-text-show
import:
language
build-depends:
base >= 4.16.1 && < 5,
bv-little,
bv-little:core,
text-show >= 3.9,
exposed-modules:
Data.BitVector.LittleEndian.TextShow
hs-source-dirs:
src/libs
visibility:
public
Test-Suite Test-Suite
import:
language
type:
exitcode-stdio-1.0
main-is:
TestSuite.hs
build-depends:
base >= 4.16.1 && < 5,
bv-little,
bv-little:instances,
deepseq >= 1.4.6,
hashable >= 1.3,
mono-traversable >= 1.0.5.0,
mono-traversable-keys >= 0.2,
QuickCheck >= 2.14.2,
smallcheck >= 1.1.5,
tasty,
tasty-hunit,
tasty-quickcheck,
tasty-smallcheck,
text-show >= 3.9
hs-source-dirs:
test,
util
other-modules:
Data.BitVector.Visual
Operator.Binary.Comparison
Operator.Binary.Logical
Operator.Unary.Logical
Benchmark Benchmark-suite
import:
language
type:
exitcode-stdio-1.0
main-is:
Benchmarks.hs
build-depends:
base >= 4.16.1 && < 5,
bv-little,
bv-little:instances,
criterion >= 1.6,
deepseq >= 1.4.6,
hashable >= 1.3,
mono-traversable >= 1.0.5.0,
QuickCheck >= 2.14.2,
smallcheck >= 1.1.5,
tasty >= 1.4,
tasty-hunit >= 0.10,
tasty-quickcheck >= 0.10,
tasty-smallcheck >= 0.8,
text-show >= 3.9,
ghc-options:
-threaded
-fdicts-cheap
-fmax-simplifier-iterations=10
-fno-full-laziness
-fspec-constr-count=6
-fwarn-dodgy-foreign-imports
-fwarn-incomplete-record-updates
-fwarn-incomplete-uni-patterns
-fwarn-overlapping-patterns
-fno-warn-type-defaults
hs-source-dirs:
bench,
util
other-modules:
Operator.Binary.Comparison
Operator.Binary.Logical
Operator.Unary.Logical
Benchmark Benchmark-heap-stack
import:
language
type:
exitcode-stdio-1.0
main-is:
HeapStack.hs
build-depends:
base >= 4.16.1 && < 5,
bv-little,
bv-little:instances,
-- criterion >= 1.6,
deepseq >= 1.4.6,
-- hashable >=1.2.3.2,
-- mono-traversable >=1.0.5.0,
QuickCheck >= 2.14.2,
smallcheck >= 1.1.5,
if !impl(ghc >=8.0)
build-depends:
semigroups >=0.18 && <1.0
ghc-options:
-threaded
-fdicts-cheap
-fmax-simplifier-iterations=10
-fno-full-laziness
-fspec-constr-count=6
-rtsopts
-fwarn-dodgy-foreign-imports
-fwarn-incomplete-record-updates
-fwarn-incomplete-uni-patterns
-fwarn-overlapping-patterns
-fno-warn-type-defaults
hs-source-dirs:
bench,
util
other-modules:
Operator.Binary.Comparison
Operator.Binary.Logical
Operator.Unary.Logical
Library
import:
language
build-depends:
base >= 4.16.1 && < 5,
bv-little:core
exposed-modules:
Data.BitVector.LittleEndian
hs-source-dirs:
src