packages feed

concurrent-extra-0.7.0.1: concurrent-extra.cabal

name:          concurrent-extra
version:       0.7.0.1
cabal-version: >= 1.8
build-type:    Custom
stability:     experimental
author:        Bas van Dijk <v.dijk.bas@gmail.com>
               Roel van Dijk <vandijk.roel@gmail.com>
maintainer:    Bas van Dijk <v.dijk.bas@gmail.com>
               Roel van Dijk <vandijk.roel@gmail.com>
copyright:     (c) 2010-2011 Bas van Dijk & Roel van Dijk
license:       BSD3
license-file:  LICENSE
homepage:      https://github.com/basvandijk/concurrent-extra/
bug-reports:   https://github.com/basvandijk/concurrent-extra/issues
category:      Concurrency
synopsis:      Extra concurrency primitives
description:
  The @concurrent-extra@ package offers among other things the
  following selection of synchronisation primitives:
  .
  * @Broadcast@: Wake multiple threads by broadcasting a value.
  .
  * @Event@: Wake multiple threads by signalling an event.
  .
  * @Lock@: Enforce exclusive access to a resource. Also known as a
    binary semaphore or mutex. The package additionally provides an
    alternative that works in the @STM@ monad.
  .
  * @RLock@: A lock which can be acquired multiple times by the same
    thread. Also known as a reentrant mutex.
  .
  * @ReadWriteLock@: Multiple-reader, single-writer locks. Used to
    protect shared resources which may be concurrently read, but only
    sequentially written.
  .
  * @ReadWriteVar@: Concurrent read, sequential write variables.
  .
  Please consult the API documentation of the individual modules for
  more detailed information.
  .
  This package was inspired by the concurrency libraries of Java and
  Python.

extra-source-files: README.markdown

source-repository head
  Type: git
  Location: git://github.com/basvandijk/concurrent-extra.git

-------------------------------------------------------------------------------

library
  build-depends: base                 >= 3       && < 4.5
               , base-unicode-symbols >= 0.1.1   && < 0.3
               , stm                  >= 2.1.2.1 && < 2.3
               , unbounded-delays     >= 0.1     && < 0.2
  exposed-modules: Control.Concurrent.Lock
                 , Control.Concurrent.STM.Lock
                 , Control.Concurrent.RLock
                 , Control.Concurrent.Event
                 , Control.Concurrent.Broadcast
                 , Control.Concurrent.ReadWriteLock
                 , Control.Concurrent.ReadWriteVar
  other-modules: Utils
  ghc-options: -Wall

-------------------------------------------------------------------------------

test-suite test-concurrent-extra
  type:    exitcode-stdio-1.0
  main-is: test.hs
  other-modules: Control.Concurrent.Event.Test
               , Control.Concurrent.Lock.Test
               , Control.Concurrent.STM.Lock.Test
               , Control.Concurrent.RLock.Test
               , Control.Concurrent.Broadcast.Test
               , Control.Concurrent.ReadWriteLock.Test
               , Control.Concurrent.ReadWriteVar.Test
               , TestUtils

  ghc-options: -Wall

  build-depends: base                 >= 3       && < 4.5
               , base-unicode-symbols >= 0.1.1   && < 0.3
               , stm                  >= 2.1.2.1 && < 2.3
               , unbounded-delays     >= 0.1     && < 0.2
               , HUnit                >= 1.2.2   && < 1.3
               , test-framework       >= 0.2.4   && < 0.5
               , test-framework-hunit >= 0.2.4   && < 0.3

-------------------------------------------------------------------------------