packages feed

stm-containers-0.2.7: stm-containers.cabal

name:
  stm-containers
version:
  0.2.7
synopsis:
  Containers for STM
description:
  This library is based on an STM-specialized implementation of a
  Hash Array Mapped Trie.
  It provides efficient implementations of @Map@, @Set@ 
  and other data structures,
  which are slightly slower than their counterparts from \"unordered-containers\",
  but scale very well on concurrent access patterns.
  .
  For details on performance of the library see
  <http://nikita-volkov.github.io/stm-containers/ this blog post>.
category:
  Data Structures, STM, Concurrency
homepage:
  https://github.com/nikita-volkov/stm-containers 
bug-reports:
  https://github.com/nikita-volkov/stm-containers/issues 
author:
  Nikita Volkov <nikita.y.volkov@mail.ru>
maintainer:
  Nikita Volkov <nikita.y.volkov@mail.ru>
copyright:
  (c) 2014, Nikita Volkov
license:
  MIT
license-file:
  LICENSE
build-type:
  Simple
cabal-version:
  >=1.10


source-repository head
  type:
    git
  location:
    git://github.com/nikita-volkov/stm-containers.git


library
  hs-source-dirs:
    library
  other-modules:
    STMContainers.Prelude
    STMContainers.WordArray.Indices
    STMContainers.WordArray
    STMContainers.SizedArray
    STMContainers.HAMT.Level
    STMContainers.HAMT.Nodes
    STMContainers.HAMT
  exposed-modules:
    STMContainers.Bimap
    STMContainers.Multimap
    STMContainers.Map
    STMContainers.Set
  build-depends:
    -- data:
    hashable < 1.3,
    -- control:
    list-t >= 0.2 && < 0.5,
    focus >= 0.1.2 && < 0.2,
    transformers >= 0.2 && < 0.5,
    -- debugging:
    loch-th == 0.2.*,
    placeholders == 0.1.*,
    -- general:
    primitive == 0.5.*,
    base-prelude == 0.1.*
  default-extensions:
    Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, ImpredicativeTypes, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
  default-language:
    Haskell2010


test-suite word-array-tests
  type:
    exitcode-stdio-1.0
  hs-source-dirs:
    executables
    library
  main-is:
    WordArrayTests.hs
  other-modules:
    WordArrayTests.Update
  build-depends:
    -- testing:
    free >= 4.6 && < 4.10,
    mtl == 2.*,
    QuickCheck >= 2.6 && < 2.8,
    HTF == 0.12.*,
    -- data:
    hashable < 1.3,
    -- control:
    list-t >= 0.2 && < 0.5,
    focus >= 0.1.2 && < 0.2,
    transformers >= 0.2 && < 0.5,
    -- debugging:
    loch-th == 0.2.*,
    placeholders == 0.1.*,
    -- general:
    primitive == 0.5.*,
    mtl-prelude < 3,
    base-prelude == 0.1.*
  default-extensions:
    Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, ImpredicativeTypes, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
  default-language:
    Haskell2010


test-suite api-tests
  type:
    exitcode-stdio-1.0
  hs-source-dirs:
    executables
  main-is:
    APITests.hs
  other-modules:
    APITests.MapTests
    APITests.MapTests.Update
  build-depends:
    QuickCheck == 2.7.*,
    HTF == 0.12.*,
    stm-containers,
    -- debugging:
    loch-th == 0.2.*,
    placeholders == 0.1.*,
    -- general:
    base-prelude == 0.1.*,
    list-t >= 0.2 && < 0.5,
    focus >= 0.1.2 && < 0.2,
    unordered-containers == 0.2.*,
    free >= 4.6 && < 4.10,
    mtl == 2.*,
    hashable < 1.3,
    mtl-prelude < 3,
    base-prelude == 0.1.*,
    base >= 4.5 && < 4.8
  default-extensions:
    Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, ImpredicativeTypes, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
  default-language:
    Haskell2010


benchmark insertion-bench
  type: 
    exitcode-stdio-1.0
  hs-source-dirs:
    executables
  main-is:
    InsertionBench.hs
  ghc-options:
    -O2 -threaded "-with-rtsopts=-N"
  default-extensions:
    Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, ImpredicativeTypes, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
  default-language:
    Haskell2010
  build-depends:
    mwc-random == 0.13.*,
    mwc-random-monad == 0.7.*,
    criterion == 0.8.*,
    -- data:
    text < 1.3,
    list-t >= 0.2 && < 0.5,
    focus >= 0.1.2 && < 0.2,
    hashable < 1.3,
    hashtables == 1.1.*,
    containers == 0.5.*,
    unordered-containers == 0.2.*,
    stm-containers,
    -- debugging:
    loch-th == 0.2.*,
    placeholders == 0.1.*,
    -- general:
    base-prelude == 0.1.*,
    base >= 4.5 && < 4.8


benchmark concurrent-insertion-bench
  type: 
    exitcode-stdio-1.0
  hs-source-dirs:
    executables
  main-is:
    ConcurrentInsertionBench.hs
  ghc-options:
    -O2 -threaded "-with-rtsopts=-N"
  default-extensions:
    Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, ImpredicativeTypes, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
  default-language:
    Haskell2010
  build-depends:
    criterion == 0.8.*,
    mwc-random == 0.13.*,
    mwc-random-monad == 0.7.*,
    -- data:
    text < 1.3,
    list-t >= 0.2 && < 0.5,
    focus >= 0.1.2 && < 0.2,
    unordered-containers == 0.2.*,
    hashable < 1.3,
    stm-containers,
    -- debugging:
    loch-th == 0.2.*,
    placeholders == 0.1.*,
    -- general:
    free >= 4.5 && < 4.10,
    async == 2.0.*,
    base-prelude == 0.1.*,
    base >= 4.5 && < 4.8


benchmark concurrent-transactions-bench
  type: 
    exitcode-stdio-1.0
  hs-source-dirs:
    executables
  main-is:
    ConcurrentTransactionsBench.hs
  ghc-options:
    -O2 -threaded "-with-rtsopts=-N"
  default-extensions:
    Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, ImpredicativeTypes, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
  default-language:
    Haskell2010
  build-depends:
    criterion == 0.8.*,
    mwc-random == 0.13.*,
    mwc-random-monad == 0.7.*,
    -- data:
    containers >= 0.5.2 && < 0.6,
    text < 1.3,
    list-t >= 0.2 && < 0.5,
    focus >= 0.1.2 && < 0.2,
    unordered-containers == 0.2.*,
    hashable < 1.3,
    stm-containers,
    -- debugging:
    loch-th == 0.2.*,
    placeholders == 0.1.*,
    -- general:
    mtl == 2.*,
    free >= 4.5 && < 4.10,
    async == 2.0.*,
    mtl-prelude < 3,
    base-prelude == 0.1.*,
    base >= 4.5 && < 4.8