name:
stm-containers
version:
0.1.2
synopsis:
Containers for STM
description:
This library is based on an STM-specialized implementation of
Hash Array Mapped Trie.
It provides very efficient implementations of @Map@ and @Set@ data structures,
which are slightly slower than their counterparts from \"unordered-containers\",
but scale very well on concurrent access patterns.
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.Map
STMContainers.Set
build-depends:
-- debugging:
loch-th == 0.2.*,
placeholders == 0.1.*,
-- general:
focus > 0.1.0 && < 0.2,
hashable < 1.3,
primitive == 0.5.*,
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
test-suite word-array-tests
type:
exitcode-stdio-1.0
hs-source-dirs:
executables
library
main-is:
WordArrayTests.hs
build-depends:
QuickCheck == 2.7.*,
HTF == 0.11.*,
-- debugging:
loch-th == 0.2.*,
placeholders == 0.1.*,
-- general:
focus > 0.1.0 && < 0.2,
free >= 4.6 && < 4.10,
mtl == 2.*,
hashable < 1.3,
primitive == 0.5.*,
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
test-suite api-tests
type:
exitcode-stdio-1.0
hs-source-dirs:
executables
main-is:
APITests.hs
build-depends:
QuickCheck == 2.7.*,
HTF == 0.11.*,
stm-containers,
-- debugging:
loch-th == 0.2.*,
placeholders == 0.1.*,
-- general:
focus > 0.1.0 && < 0.2,
unordered-containers == 0.2.*,
free >= 4.6 && < 4.10,
mtl == 2.*,
hashable < 1.3,
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.2,
focus > 0.1.0 && < 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 >= 4.5 && < 5
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.2,
focus > 0.1.0 && < 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 >= 4.5 && < 5
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.2,
focus > 0.1.0 && < 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.*,
base >= 4.5 && < 5