packages feed

primitive-containers-0.3.2: primitive-containers.cabal

cabal-version: 2.0
name: primitive-containers
version: 0.3.2
synopsis: containers backed by arrays
description:
  Containers backed by flat arrays. Updates require rebuilding the
  entire structure, but lookups are cache coherent.
homepage: https://github.com/andrewthad/primitive-containers
bug-reports: https://github.com/andrewthad/primitive-containers/issues
author: Andrew Martin
maintainer: andrew.thaddeus@gmail.com
copyright: 2018 Andrew Martin
category: Data Structures
license: BSD3
license-file: LICENSE
build-type: Simple

extra-source-files:
  ChangeLog.md
  README.md

source-repository head
  type: git
  location: https://github.com/andrewthad/primitive-containers

flag checked
  description:
    Check all array indexing. This makes most functions slower, but
    it replaces segfaults with descriptive errors. This should
    only be used for debugging.
  default: False
  manual: True

library
  hs-source-dirs:
      src
  build-depends:
      base >=4.9 && <5
    , primitive-sort >= 0.1 && < 0.2
    , hashable >= 1.2.5
    , deepseq >= 1.4
      -- move these five out when we kick out dependent maps 
    , quantification >= 0.5.0 && < 0.6
    , aeson >= 1.0 && < 1.5
    , unordered-containers >= 0.2.8.0
    , vector >= 0.11 && < 0.13
    , text >= 1.2 && < 1.3
  if flag(checked)
    build-depends: 
        contiguous-checked >= 0.3.2 && < 0.4
      , primitive-checked >= 0.6.4.1
  else
    build-depends: 
        contiguous >= 0.3.2 && < 0.4
      , primitive >= 0.6.4
  exposed-modules:
    Data.Continuous.Set.Lifted
    Data.Diet.Map.Strict.Lifted.Lifted
    Data.Diet.Map.Strict.Unboxed.Lifted
    Data.Diet.Set
    Data.Diet.Set.Lifted
    Data.Diet.Set.Unboxed
    Data.Diet.Unbounded.Set.Lifted
    Data.Map.Lifted.Lifted
    Data.Map.Lifted.Unlifted
    Data.Map.Unboxed.Lifted
    Data.Map.Unboxed.Unboxed
    Data.Map.Unboxed.Unlifted
    Data.Map.Unlifted.Unboxed
    Data.Map.Unlifted.Lifted
    Data.Set.Lifted
    Data.Set.Unboxed
    Data.Set.Unlifted
    Data.Set.NonEmpty.Unlifted
    Data.Map.Interval
    Data.Map.Subset.Strict.Lifted
    Data.Map.Subset.Strict.Unlifted
    Data.Map.Subset.Lazy.Lifted
    Data.Map.Subset.Lazy.Unlifted
    Data.Dependent.Map.Class
    Data.Dependent.Map.Internal
    Data.Dependent.Map.Lifted.Lifted
    Data.Dependent.Map.Unlifted.Lifted
    Data.Dependent.Map.Unboxed.Lifted
    Data.Map.Interval.DBTSLL
  other-modules:
    Data.Concatenation
    Data.Diet.Map.Strict.Internal
    Data.Diet.Set.Internal
    Data.Continuous.Set.Internal
    Data.Diet.Unbounded.Set.Internal
    Data.Map.Internal
    Data.Map.Subset.Strict.Internal
    Data.Map.Subset.Lazy.Internal
    Data.Set.Internal
    Data.Set.Lifted.Internal
    Data.Set.Unboxed.Internal
    Data.Set.Unlifted.Internal
    Data.Map.Interval.DBTS.Internal
  ghc-options: -O2 -Wall
  default-language: Haskell2010

test-suite test
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  build-depends:
      base
    , HUnit
    , QuickCheck < 2.13
    , aeson
    , containers >= 0.5.10
    , primitive
    , primitive-containers
    , quantification >= 0.4
    , quickcheck-classes >= 0.6
    , tasty
    , tasty-hunit
    , tasty-quickcheck
    , text
  ghc-options: -Wall -O2
  default-language: Haskell2010

benchmark gauge
  default-language: Haskell2010
  hs-source-dirs:
    benchmark-gauge
  main-is: Main.hs
  type: exitcode-stdio-1.0
  ghc-options: -Wall -O2
  build-depends:
      base >= 4.8 && < 4.12
    , primitive
    , primitive-containers
    , ghc-prim
    , gauge
    , random
    , containers