-- Initial lvish.cabal generated by cabal init. For further -- documentation, see http://haskell.org/cabal/users-guide/ -- The name of the package. name: lvish -- The package version. See the Haskell package versioning policy (PVP) -- for standards guiding when and how versions should be incremented. -- http://www.haskell.org/haskellwiki/Package_versioning_policy -- PVP summary: +-+------- breaking API changes -- | | +----- non-breaking API additions -- | | | +--- code changes with no API change version: 1.0.0.6 -- Changelog: -- 0.2 -- switch SLMap over to O(1) freeze -- 1.0 -- initial public release -- 1.0.0.2 -- minor docs polishing -- 1.0.0.4 -- Bugfix for runParThenFreeze 's' param (issue #26). -- 1.0.0.6 -- tighten up dependencies; remove unused flags; very minor doc fixes. synopsis: Parallel scheduler, LVar data structures, and infrastructure to build more. description: . A programming model based on monotonically-growing concurrent data structures. . As a starting point, look at "Control.LVish", as well as one of these papers: . * FHPC 2013: /LVars: lattice-based data structures for deterministic parallelism/ (). . * POPL 2014: /Freeze after writing: quasi-deterministic parallel programming with LVars/ (). . If the haddocks are not building, here is a mirror: . Change Log: . * 1.0.0.6 - tighten up dependencies; remove unused flags; very minor doc fixes. license: BSD3 license-file: LICENSE author: Aaron Turon, Lindsey Kuper, Ryan Newton maintainer: lindsey@composition.al category: Concurrency build-type: Simple -- Constraint on the version of Cabal needed to build this package. cabal-version: >=1.8 flag debug description: Activate additional debug assertions, and printed output if DEBUGLVL env var is set to 1 or higher. default: False flag chaselev description: Use the Chase-Lev work-stealing deque default: True flag getonce description: Ensure that continuations of get run at most once (by using extra synchronization) default: False -------------------------------------------------------------------------------- library Source-repository head type: git location: https://github.com/iu-parfunc/lvars subdir: haskell/lvish tag: release-lvish-1.0.0.6 -- Modules exported by the library. exposed-modules: ------------- End user modules ------------ Control.LVish Control.LVish.DeepFrz Data.LVar.Generic Data.LVar.IVar Data.LVar.IStructure Data.LVar.PureSet Data.LVar.PureMap Data.LVar.SLSet Data.LVar.SLMap ------------------------------------------- -- End users should NOT USE THESE. -- These are only for developing new LVars: Data.LVar.Internal.Pure Data.LVar.Generic.Internal Control.LVish.SchedIdempotent Control.LVish.Internal Control.LVish.DeepFrz.Internal -- Modules included in this library but not exported. other-modules: Data.UtilInternal Data.LVar.Pair Data.Concurrent.Bag Data.Concurrent.Counter Data.Concurrent.SNZI Data.Concurrent.LinkedMap Data.Concurrent.SkipListMap Data.Concurrent.AlignedIORef Control.Reagent Control.LVish.SchedIdempotentInternal Control.LVish.MonadToss Control.LVish.Types -- Not ready for prime-time yet: -- Data.LVar.NatArray Data.LVar.MaxCounter -- Other library packages from which modules are imported. build-depends: base >= 4.6 && <= 4.8, deepseq >= 1.3, containers >= 0.5, lattices >= 1.2, vector >=0.10, atomic-primops >= 0.4, random, transformers, ghc-prim -- Used in NatArray: -- bits-atomic, missing-foreign ghc-options: -O2 -rtsopts if flag(debug) cpp-options: -DDEBUG_LVAR if flag(chaselev) build-depends: chaselev-deque cpp-options: -DCHASE_LEV if flag(getonce) cpp-options: -DGET_ONCE -------------------------------------------------------------------------------- -- TODO: New tests here: test-suite test-lvish type: exitcode-stdio-1.0 main-is: unit-tests.hs other-modules: TestHelpers ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N4 -- DUPLICATE: build-depends: base >= 4.6 && <= 4.8, deepseq >= 1.3, containers >= 0.5, lattices >= 1.2, vector >=0.10, atomic-primops >= 0.4, random, transformers, ghc-prim build-depends: time, HUnit, test-framework, test-framework-hunit, test-framework-th if flag(debug) cpp-options: -DDEBUG_LVAR if flag(chaselev) build-depends: chaselev-deque cpp-options: -DCHASE_LEV if flag(getonce) cpp-options: -DGET_ONCE