packages feed

hedis-0.6.2: hedis.cabal

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