File cassava.cabal of Package ghc-cassava
cabal-version: 1.12
Name: cassava
Version: 0.5.2.0
x-revision: 7
Synopsis: A CSV parsing and encoding library
Description: {
@cassava@ is a library for parsing and encoding [RFC 4180](https://tools.ietf.org/html/rfc4180)
compliant [comma-separated values (CSV)](https://en.wikipedia.org/wiki/Comma-separated_values) data,
which is a textual line-oriented format commonly used for exchanging tabular data.
.
@cassava@'s API includes support for
.
- Index-based record-conversion
- Name-based record-conversion
- Typeclass directed conversion of fields and records
- Built-in field-conversion instances for standard types
- Customizable record-conversion instance derivation via GHC generics
- Low-level [bytestring](https://hackage.haskell.org/package/bytestring) builders (see "Data.Csv.Builder")
- Incremental decoding and encoding API (see "Data.Csv.Incremental")
- Streaming API for constant-space decoding (see "Data.Csv.Streaming")
.
Moreover, this library is designed to be easy to use; for instance, here's a
very simple example of encoding CSV data:
.
>>> Data.Csv.encode [("John",27),("Jane",28)]
"John,27\r\nJane,28\r\n"
.
Please refer to the documentation in "Data.Csv" and the included [README](#readme) for more usage examples.
}
Homepage: https://github.com/hvr/cassava
License: BSD3
License-file: LICENSE
Bug-reports: https://github.com/hvr/cassava/issues
Copyright: (c) 2012 Johan Tibell
(c) 2012 Bryan O'Sullivan
(c) 2011 MailRank, Inc.
Author: Johan Tibell
Maintainer: hvr@gnu.org
Category: Text, Web, CSV
Build-type: Simple
Extra-source-files: examples/*.hs,
CHANGES.md,
README.md
Tested-with:
GHC == 9.2.1
GHC == 9.0.1
GHC == 8.10.7
GHC == 8.8.4
GHC == 8.6.5
GHC == 8.4.4
GHC == 8.2.2
GHC == 8.0.2
GHC == 7.10.3
GHC == 7.8.4
GHC == 7.6.3
GHC == 7.4.2
----------------------------------------------------------------------------
source-repository head
type: git
location: https://github.com/hvr/cassava.git
flag bytestring--LT-0_10_4
description: [bytestring](https://hackage.haskell.org/haskell/package/bytestring) < 0.10.4
default: False
Library
default-language: Haskell2010
other-extensions:
BangPatterns
CPP
DataKinds
DefaultSignatures
DeriveFunctor
FlexibleContexts
FlexibleInstances
KindSignatures
MultiParamTypeClasses
OverloadedStrings
PolyKinds
Rank2Types
ScopedTypeVariables
TypeOperators
UndecidableInstances
if impl(ghc >= 8.0)
other-extensions:
DataKinds
PolyKinds
hs-source-dirs: src
Exposed-modules:
Data.Csv
Data.Csv.Builder
Data.Csv.Incremental
Data.Csv.Parser
Data.Csv.Streaming
Other-modules:
Data.Csv.Conversion
Data.Csv.Conversion.Internal
Data.Csv.Encoding
Data.Csv.Types
Data.Csv.Util
Build-depends:
array >= 0.4 && < 0.6,
attoparsec >= 0.11.3.0 && < 0.15,
base >= 4.5 && < 4.17,
bytestring >= 0.9.2 && < 0.12,
containers >= 0.4.2 && < 0.7,
deepseq >= 1.1 && < 1.5,
hashable < 1.5,
scientific >= 0.3.4.7 && < 0.4,
text < 2.1,
transformers >= 0.2 && < 0.7,
unordered-containers < 0.3,
vector >= 0.8 && < 0.13,
Only >= 0.1 && < 0.1.1
if flag(bytestring--LT-0_10_4)
build-depends: bytestring < 0.10.4
, bytestring-builder >= 0.10.8 && < 0.11
else
build-depends: bytestring >= 0.10.4
, text-short == 0.1.*
-- GHC.Generics lived in `ghc-prim` for GHC 7.2 & GHC 7.4 only
if impl(ghc < 7.6)
build-depends: ghc-prim == 0.2.*
-- For Numeric.Natural
if impl(ghc < 7.10)
build-depends: nats >= 1 && < 1.2
-- https://ghc.haskell.org/trac/ghc/wiki/Migration/8.0#Recommendationsforforward-compatibility
if impl(ghc >= 8.0)
ghc-options: -Wcompat -Wnoncanonical-monad-instances
if impl(ghc >= 8.8)
ghc-options: -Wno-star-is-type
else
ghc-options: -Wnoncanonical-monadfail-instances
else
-- provide/emulate `Control.Monad.Fail` and `Data.Semigroups` API for pre-GHC8
build-depends: fail == 4.9.*, semigroups >= 0.18.2 && <0.20
if impl(ghc >= 8.2)
ghc-options: -Wcpp-undef
ghc-options: -Wall -O2
----------------------------------------------------------------------------
Test-suite unit-tests
default-language: Haskell2010
Type: exitcode-stdio-1.0
Main-is: UnitTests.hs
-- dependencies with version constraints inherited via lib:cassava
Build-depends: attoparsec
, base
, bytestring
, cassava
, hashable
, scientific
, text
, unordered-containers
, vector
-- extra dependencies not already used by lib:cassava
build-depends: HUnit < 1.7
, QuickCheck >= 2.13 && < 2.15
, quickcheck-instances >= 0.3.12 && < 0.4
, test-framework == 0.8.*
, test-framework-hunit == 0.3.*
, test-framework-quickcheck2 == 0.3.*
hs-source-dirs: tests
-- GHC.Generics lived in `ghc-prim` for GHC 7.2 & GHC 7.4 only
if impl(ghc < 7.6)
build-depends: ghc-prim == 0.2.*
-- For Numeric.Natural
if impl(ghc < 7.10)
build-depends: nats
-- https://ghc.haskell.org/trac/ghc/wiki/Migration/8.0#Recommendationsforforward-compatibility
if impl(ghc >= 8.0)
ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
else
-- provide/emulate `Control.Monad.Fail` and `Data.Semigroups` API for pre-GHC8
build-depends: fail, semigroups
if impl(ghc >= 8.2)
ghc-options: -Wcpp-undef
ghc-options: -Wall