packages feed

pinch-0.1.0.0: pinch.cabal

name:                pinch
version:             0.1.0.0
synopsis:            An alternative implementation of Thrift for Haskell.
homepage:            https://github.com/abhinav/pinch
license:             BSD3
license-file:        LICENSE
author:              Abhinav Gupta
maintainer:          mail@abhinavg.net
category:            Development
build-type:          Simple
cabal-version:       >=1.10
description:
    This library provides machinery for types to specify how they can be
    serialized and deserialized into/from Thrift payloads. It makes no
    assumptions on how these payloads are sent or received and performs no
    code generation. Types may specify how to be serialized and deserialized
    by defining instances of the @Pinchable@ typeclass by hand, or with
    automatically derived instances by using generics. Check the documentation
    in the "Pinch" module for more information.
    .
    /What is Thrift?/ Apache Thrift provides an interface description
    language, a set of communication protocols, and a code generator and
    libraries for various programming languages to interact with the generated
    code. Pinch aims to provide an alternative implementation of Thrift for
    Haskell.
extra-source-files:
    README.md
    CHANGES.md
    examples/keyvalue/*.hs
    examples/keyvalue/*.cabal
    examples/keyvalue/*.thrift


library
  exposed-modules  : Pinch.Internal.Generic
                   , Pinch.Internal.Builder
                   , Pinch.Internal.Message
                   , Pinch.Internal.Parser
                   , Pinch.Internal.Pinchable
                   , Pinch.Internal.TType
                   , Pinch.Internal.Value
                   , Pinch.Protocol
                   , Pinch.Protocol.Binary
                   , Pinch
  ghc-options      : -Wall
  build-depends    : base                 >= 4.7  && < 4.9

                   , array                >= 0.5
                   , bytestring           >= 0.10 && < 0.11
                   , containers           >= 0.5  && < 0.6
                   , deepseq              >= 1.3  && < 1.5
                   , hashable             >= 1.2  && < 1.3
                   , text                 >= 1.2  && < 1.3
                   , unordered-containers >= 0.2  && < 0.3
                   , vector               >= 0.10 && < 0.11
  default-language : Haskell2010


test-suite pinch-spec
  type             : exitcode-stdio-1.0
  hs-source-dirs   : tests
  ghc-options      : -Wall
  main-is          : Spec.hs
  other-modules    : Pinch.Arbitrary
                   , Pinch.Expectations
                   , Pinch.Protocol.BinarySpec
                   , Pinch.Internal.BuilderSpec
                   , Pinch.Internal.GenericSpec
                   , Pinch.Internal.ParserSpec
                   , Pinch.Internal.PinchableSpec
                   , Pinch.Internal.TTypeSpec
                   , Pinch.Internal.Util
                   , Pinch.Internal.ValueSpec
  build-depends    : base

                   , bytestring
                   , containers
                   , hspec                >= 2.0
                   , hspec-discover       >= 2.1
                   , QuickCheck           >= 2.5
                   , text
                   , unordered-containers
                   , vector

                   , pinch
  default-language : Haskell2010


benchmark pinch-bench
  type             : exitcode-stdio-1.0
  main-is          : Bench.hs
  hs-source-dirs   : bench
  ghc-options      : -O2 -Wall
  build-depends    : base
                   , bytestring
                   , criterion >= 1.0
                   , deepseq
                   , QuickCheck >= 2.8
                   , text

                   , pinch
  default-language : Haskell2010


source-repository head
  type     : git
  location : git://github.com/abhinav/pinch.git