File: concurrent-extra.cabal

package info (click to toggle)
haskell-concurrent-extra 0.7.0.12-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 184 kB
  • sloc: haskell: 1,040; makefile: 6
file content (91 lines) | stat: -rw-r--r-- 3,386 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
name:          concurrent-extra
version:       0.7.0.12
cabal-version: >= 1.8
build-type:    Simple
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-2012 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 && < 5
               , stm              >= 2.1.2.1
               , unbounded-delays >= 0.1
  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 -threaded

  build-depends: base                 >= 3 && < 5
               , stm                  >= 2.1.2.1
               , unbounded-delays     >= 0.1
               , HUnit                >= 1.2.2
               , random               >= 1.0
               , test-framework       >= 0.2.4
               , test-framework-hunit >= 0.2.4
               , async                >= 2.0

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