packages feed

primitive-containers-0.3.3: primitive-containers.cabal

cabal-version: 2.0
name: primitive-containers
version: 0.3.3
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
    Data.Map.Interval.DBTSUL
    Data.Map.Interval.DBTSUU
  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