-------------------------------------------------------------------------------- name: impure-containers version: 0.5.1 stability: Experimental build-type: Simple cabal-version: >= 1.10 category: Data Structures copyright: Copyright 2016 Andrew Martin , Copyright 2018 Remy Goldschmidt author: Andrew Martin maintainer: andrew.thaddeus@gmail.com license: BSD3 license-file: LICENSE.md homepage: https://github.com/andrewthad/impure-containers bug-reports: https://github.com/andrewthad/impure-containers/issues synopsis: Mutable containers in Haskell. description: Please see README.md extra-source-files: README.md , cbits/Makefile , cbits/check.c , cbits/defs.h , cbits/sse-42-check.c tested-with: GHC == 8.0.2 -------------------------------------------------------------------------------- source-repository head type: git tag: master location: https://github.com/andrewthad/impure-containers -------------------------------------------------------------------------------- flag unsafe-tricks description: If enabled, turn on unsafe GHC tricks. default: True flag bounds-checking description: If enabled, use bounds-checking array accesses. default: False flag debug description: If enabled, spew debugging output to stdout. default: False flag sse42 description: If enabled, use SSE 4.2 extensions to search cache lines very efficiently. The portable flag forces this off. default: False flag portable description: If enabled, use only pure Haskell code and no GHC extensions. default: False -------------------------------------------------------------------------------- library hs-source-dirs: src exposed-modules: Data.HashMap.Mutable.Basic -- , Data.Heap.Mutable.ModelA -- , Data.Heap.Mutable.ModelB , Data.Heap.Mutable.ModelC , Data.Heap.Mutable.ModelD , Data.Graph.Immutable , Data.Graph.Mutable , Data.Trie.Mutable.Bits , Data.Trie.Immutable.Bits , Data.ArrayList.Generic , Data.Graph.Types , Data.Graph.Types.Internal , Data.Primitive.PrimArray , Data.Primitive.Array.Maybe , Data.Primitive.MutVar.Maybe , Data.Primitive.Bool , Data.Maybe.Unsafe -- , Data.Containers.Impure.Internal , ImpureContainers.PrimRef , ImpureContainers.MByteArray , ImpureContainers.Misc.Mobility other-modules: Data.HashMap.Mutable.Internal.Array , Data.HashMap.Mutable.Internal.CacheLine , Data.HashMap.Mutable.Internal.CheapPseudoRandomBitStream , Data.HashMap.Mutable.Internal.IntArray , Data.HashMap.Mutable.Internal.Linear.Bucket , Data.HashMap.Mutable.Internal.UnsafeTricks , Data.HashMap.Mutable.Internal.Utils build-depends: base >= 4.8 && < 5 , hashable >= 1.2 && < 1.4 , primitive >= 0.6 && < 0.8 , vector >= 0.11 && < 0.13 , containers > 0.5 && < 0.7 , ghc-prim default-language: Haskell2010 if flag(sse42) && !flag(portable) cc-options: -DUSE_SSE_4_2 -msse4.2 cpp-options: -DUSE_SSE_4_2 c-sources: cbits/sse-42.c if !flag(portable) && !flag(sse42) c-sources: cbits/default.c if !flag(portable) c-sources: cbits/common.c if flag(portable) cpp-options: -DNO_C_SEARCH -DPORTABLE if !flag(portable) && flag(unsafe-tricks) && impl(ghc) build-depends: ghc-prim cpp-options: -DUNSAFETRICKS if flag(debug) cpp-options: -DDEBUG if flag(bounds-checking) cpp-options: -DBOUNDS_CHECKING -- ghc-prof-options: -prof -auto-all ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -fno-warn-unused-do-bind -- -- Turn this one back on later -- -O2 -------------------------------------------------------------------------------- test-suite impure-containers-test type: exitcode-stdio-1.0 hs-source-dirs: test main-is: Spec.hs build-depends: base , impure-containers , containers , test-framework , test-framework-quickcheck2 , QuickCheck , HUnit , test-framework-hunit , vector , transformers ghc-options: -threaded -rtsopts -with-rtsopts=-N default-language: Haskell2010 -------------------------------------------------------------------------------- benchmark impure-containers-bench type: exitcode-stdio-1.0 hs-source-dirs: bench main-is: Main.hs build-depends: base , impure-containers , criterion ghc-options: -threaded -rtsopts -with-rtsopts=-N -O2 default-language: Haskell2010 --------------------------------------------------------------------------------