packages feed

bytehash-0.1.1.2: bytehash.cabal

cabal-version:   3.0
name:            bytehash
version:         0.1.1.2
synopsis:        Universal hashing of bytes
description:
  Taken together, universal hash functions and a good source of entropy
  provide a foundation for hash maps guarantee O(1) lookups even if an
  adversary chooses the keys. This library implements such a hash map.
  The implementation of lookup is tuned for performance. The functions
  for building hash maps are not since they are intended to be called
  infrequently.

homepage:        https://github.com/byteverse/bytehash
bug-reports:     https://github.com/byteverse/bytehash/issues
license:         BSD-3-Clause
license-file:    LICENSE
author:          Andrew Martin
maintainer:      amartin@layer3com.com
copyright:       2020 Andrew Martin
category:        Data
build-type:      Simple
extra-doc-files: CHANGELOG.md
tested-with:     GHC ==9.4.8 || ==9.6.3 || ==9.8.1

common build-settings
  default-language: Haskell2010
  ghc-options:      -Wall -Wunused-packages

library
  import:          build-settings
  exposed-modules:
    Data.Bytes.Hash
    Data.Bytes.HashMap
    Data.Bytes.HashMap.Word

  other-modules:   Data.Bytes.HashMap.Internal
  build-depends:
    , base                >=4.17.1  && <5
    , byteslice           >=0.2.1   && <0.3
    , bytestring          >=0.10.8  && <0.12
    , containers          >=0.6
    , entropy             >=0.4.1.5 && <0.5
    , primitive           >=0.9     && <0.10
    , primitive-unlifted  >=2.1
    , transformers        >=0.5.6   && <0.7

  hs-source-dirs:  src
  ghc-options:     -O2

test-suite test
  import:         build-settings
  type:           exitcode-stdio-1.0
  main-is:        Main.hs
  ghc-options:    -rtsopts -threaded
  hs-source-dirs: test
  build-depends:
    , base            >=4.12    && <5
    , bytehash
    , byteslice       >=0.1.4
    , entropy         >=0.4.1.5
    , hedgehog        >=1.0.1
    , primitive       >=0.6.4
    , tasty           >=1.0
    , tasty-hedgehog
    , tasty-hunit     >=0.9

benchmark bench
  import:         build-settings
  type:           exitcode-stdio-1.0
  build-depends:
    , base
    , bytehash
    , byteslice
    , bytestring
    , entropy
    , gauge
    , primitive
    , primitive-unlifted
    , split                 >=0.2.3.3
    , unordered-containers

  ghc-options:    -O2
  hs-source-dirs: bench
  main-is:        Main.hs

source-repository head
  type:     git
  location: git://github.com/byteverse/bytehash.git