~ubuntu-branches/ubuntu/trusty/haskell-hedis/trusty

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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
name:               hedis
version:            0.6.2
synopsis:
    Client library for the Redis datastore: supports full command set,  
    pipelining.
Description:
    Redis is an open source, advanced key-value store. It is often referred to
    as a data structure server since keys can contain strings, hashes, lists,
    sets and sorted sets. This library is a Haskell client for the Redis
    datastore. Compared to other Haskell client libraries it has some
    advantages:
    .
    [Complete Redis 2.6 command set:] All Redis commands
        (<http://redis.io/commands>) are available as haskell functions, except
        for the MONITOR and SYNC commands. Additionally, a low-level API is
        exposed that  makes it easy for the library user to implement further
        commands, such as new commands from an experimental Redis version.
    .
    [Automatic Optimal Pipelining:] Commands are pipelined
        (<http://redis.io/topics/pipelining>) as much as possible without any
        work by the user. See
        <http://informatikr.com/2012/redis-pipelining.html> for a
        technical explanation of automatic optimal pipelining.
    .
    [Enforced Pub\/Sub semantics:] When subscribed to the Redis Pub\/Sub server
        (<http://redis.io/topics/pubsub>), clients are not allowed to issue
        commands other than subscribing to or unsubscribing from channels. This
        library uses the type system to enforce the correct behavior.
    .
    [Connect via TCP or Unix Domain Socket:] TCP sockets are the default way to
        connect to a Redis server. For connections to a server on the same
        machine, Unix domain sockets offer higher performance than the standard
        TCP connection.
    .
    For detailed documentation, see the "Database.Redis" module.
    .
    [Changes since version 0.5.1]
    .
    * Changed return type of HDEL from Bool to Integer.
    .
    * Some documentation updates.
    .
    [Changes since version 0.5]
    .
    * New commands: DUMP, RESTORE, BITOP, BITCOUNT.
    .
    * Removed the dependency on stm.
    .
    * Improved performance of Queued in long transactions.
    .
    * Minor documentation updates.
    .
    [Changes since version 0.4.1]
    .
    * Added new Redis 2.6 commands, including Lua scripting support.
    .
    * A transaction context is now created by using the 'multiExec' function.
      The functions 'multi', 'exec' and 'discard' are no longer available
      individually.
    .
    * Inside of a transaction, commands return their results wrapped in a
      composable /future/, called 'Queued'.
    .
    * The 'getType' command (the Redis TYPE command) now has a custom return
      type 'RedisType'.
    .
    * Minor improvements and fixes to the documentation.
    .
license:            BSD3
license-file:       LICENSE
author:             Falko Peters
maintainer:         falko.peters@gmail.com
copyright:          Copyright (c) 2011 Falko Peters
category:           Database
build-type:         Simple
cabal-version:      >=1.8
homepage:           https://github.com/informatikr/hedis
bug-reports:        https://github.com/informatikr/hedis/issues

source-repository head
  type:     git
  location: https://github.com/informatikr/hedis

library
  hs-source-dirs:   src
  ghc-options:      -Wall
  ghc-prof-options: -auto-all
  exposed-modules:  Database.Redis
  build-depends:    attoparsec == 0.10.*,
                    base == 4.*,
                    BoundedChan == 1.0.*,
                    bytestring >= 0.9 && < 0.11,
                    bytestring-lexing == 0.4.*,
                    mtl == 2.*,
                    network == 2.*,
                    resource-pool == 0.2.*,
                    time,
                    vector >= 0.9 && < 0.11

  other-modules:    Database.Redis.Core,
                    Database.Redis.ProtocolPipelining,
                    Database.Redis.Protocol,
                    Database.Redis.PubSub,
                    Database.Redis.Transactions,
                    Database.Redis.Types
                    Database.Redis.Commands,
                    Database.Redis.ManualCommands

benchmark hedis-benchmark
    type: exitcode-stdio-1.0
    main-is: benchmark/Benchmark.hs
    build-depends:
        base == 4.*,
        mtl == 2.*,
        hedis,
        time >= 1.2
    ghc-options: -O2 -Wall -rtsopts
    ghc-prof-options: -auto-all

test-suite hedis-test
    type: exitcode-stdio-1.0
    main-is: test/Test.hs
    build-depends:
        base == 4.*,
        bytestring >= 0.9 && < 0.11,
        hedis,
        HUnit == 1.2.*,
        mtl == 2.*,
        test-framework,
        test-framework-hunit,
        time
    -- We use -O0 here, since GHC takes *very* long to compile so many constants
    ghc-options: -O0 -Wall -rtsopts -fno-warn-unused-do-bind
    ghc-prof-options: -auto-all