packages feed

stm-hamt-1.2.0.13: stm-hamt.cabal

name:          stm-hamt
version:       1.2.0.13
synopsis:      STM-specialised Hash Array Mapped Trie
description:
  A low-level data-structure,
  which can be used to implement higher-level interfaces like
  hash-map and hash-set.
  Such implementations are presented by the
  <http://hackage.haskell.org/package/stm-containers stm-containers>.

category:      Data Structures, STM, Concurrency
homepage:      https://github.com/nikita-volkov/stm-hamt
bug-reports:   https://github.com/nikita-volkov/stm-hamt/issues
author:        Nikita Volkov <nikita.y.volkov@mail.ru>
maintainer:    Nikita Volkov <nikita.y.volkov@mail.ru>
copyright:     (c) 2016, Nikita Volkov
license:       MIT
license-file:  LICENSE
build-type:    Simple
cabal-version: >=1.10

library
  hs-source-dirs:     library
  default-extensions:
    NoImplicitPrelude
    NoMonomorphismRestriction
    Arrows
    BangPatterns
    BinaryLiterals
    ConstraintKinds
    DataKinds
    DefaultSignatures
    DeriveDataTypeable
    DeriveFoldable
    DeriveFunctor
    DeriveGeneric
    DeriveTraversable
    EmptyDataDecls
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GADTs
    GeneralizedNewtypeDeriving
    LambdaCase
    LiberalTypeSynonyms
    MagicHash
    MultiParamTypeClasses
    MultiWayIf
    OverloadedStrings
    ParallelListComp
    PatternGuards
    QuasiQuotes
    RankNTypes
    RecordWildCards
    ScopedTypeVariables
    StandaloneDeriving
    TemplateHaskell
    TupleSections
    TypeFamilies
    TypeOperators
    UnboxedTuples

  default-language:   Haskell2010
  exposed-modules:
    StmHamt.Hamt
    StmHamt.SizedHamt

  other-modules:
    StmHamt.Constructors.Branch
    StmHamt.Focuses
    StmHamt.IntOps
    StmHamt.ListT
    StmHamt.Prelude
    StmHamt.Types
    StmHamt.UnfoldlM

  build-depends:
      base >=4.9 && <5
    , deferred-folds >=0.9 && <0.10
    , focus >=1 && <1.1
    , hashable >=1.4.0.0 && <2
    , list-t >=1.0.1 && <1.1
    , primitive >=0.7 && <0.10
    , primitive-extras >=0.10 && <0.11
    , transformers >=0.5 && <0.7

test-suite test
  type:               exitcode-stdio-1.0
  hs-source-dirs:     test
  default-extensions:
    NoImplicitPrelude
    NoMonomorphismRestriction
    Arrows
    BangPatterns
    BinaryLiterals
    ConstraintKinds
    DataKinds
    DefaultSignatures
    DeriveDataTypeable
    DeriveFoldable
    DeriveFunctor
    DeriveGeneric
    DeriveTraversable
    EmptyDataDecls
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GADTs
    GeneralizedNewtypeDeriving
    LambdaCase
    LiberalTypeSynonyms
    MagicHash
    MultiParamTypeClasses
    MultiWayIf
    OverloadedStrings
    ParallelListComp
    PatternGuards
    QuasiQuotes
    RankNTypes
    RecordWildCards
    ScopedTypeVariables
    StandaloneDeriving
    TemplateHaskell
    TupleSections
    TypeFamilies
    TypeOperators
    UnboxedTuples

  default-language:   Haskell2010
  main-is:            Main.hs
  other-modules:
    Main.Gens
    Main.Transaction

  build-depends:
      deferred-folds
    , focus
    , QuickCheck >=2.8.1 && <3
    , quickcheck-instances >=0.3.11 && <0.4
    , rerebase <2
    , stm-hamt
    , tasty >=0.12 && <2
    , tasty-hunit >=0.9 && <0.11
    , tasty-quickcheck >=0.9 && <0.11

benchmark concurrent-insertion-bench
  type:               exitcode-stdio-1.0
  hs-source-dirs:     concurrent-insertion-bench
  default-extensions:
    NoImplicitPrelude
    NoMonomorphismRestriction
    Arrows
    BangPatterns
    BinaryLiterals
    ConstraintKinds
    DataKinds
    DefaultSignatures
    DeriveDataTypeable
    DeriveFoldable
    DeriveFunctor
    DeriveGeneric
    DeriveTraversable
    EmptyDataDecls
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GADTs
    GeneralizedNewtypeDeriving
    LambdaCase
    LiberalTypeSynonyms
    MagicHash
    MultiParamTypeClasses
    MultiWayIf
    OverloadedStrings
    ParallelListComp
    PatternGuards
    QuasiQuotes
    RankNTypes
    RecordWildCards
    ScopedTypeVariables
    StandaloneDeriving
    TemplateHaskell
    TupleSections
    TypeFamilies
    TypeOperators
    UnboxedTuples

  default-language:   Haskell2010
  ghc-options:        -O2 -threaded -with-rtsopts=-N
  main-is:            Main.hs
  build-depends:
      async >=2.0 && <3
    , criterion >=1.5 && <1.7
    , focus
    , free >=4.5 && <6
    , mwc-random-monad >=0.7 && <0.8
    , rebase <2
    , stm-hamt