Permalink
Fetching contributors…
Cannot retrieve contributors at this time
254 lines (226 sloc) 6.32 KB
name: aeson
version: 1.2.0.0
license: BSD3
license-file: LICENSE
category: Text, Web, JSON
copyright: (c) 2011-2016 Bryan O'Sullivan
(c) 2011 MailRank, Inc.
author: Bryan O'Sullivan <bos@serpentine.com>
maintainer: Adam Bergmark <adam@bergmark.nl>
stability: experimental
tested-with: GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1
synopsis: Fast JSON parsing and encoding
cabal-version: >= 1.10
homepage: https://github.com/bos/aeson
bug-reports: https://github.com/bos/aeson/issues
build-type: Simple
description:
A JSON parsing and encoding library optimized for ease of use
and high performance.
.
To get started, see the documentation for the @Data.Aeson@ module
below.
.
Parsing performance on a late 2013 MacBook Pro (2.6GHz Core i7),
running 64-bit GHC 7.10.1, for mostly-English tweets from Twitter's
JSON search API:
.
* 6.4 KB payloads, English: 7570 msg\/sec (47.6 MB\/sec)
.
* 14.6 KB payloads, Japanese: 3261 msg\/sec (46.6 MB\/sec)
.
Encoding performance on the same machine and data:
.
* 6.4 KB payloads, English: 22738 msg\/sec (142.9 MB\/sec)
.
* 14.6 KB payloads, Japanese: 15911 msg\/sec (227.4 MB\/sec)
.
(A note on naming: in Greek mythology, Aeson was the father of Jason.)
extra-source-files:
*.yaml
README.markdown
benchmarks/*.cabal
benchmarks/*.hs
benchmarks/*.py
benchmarks/Compare/*.hs
benchmarks/Makefile
benchmarks/Typed/*.hs
benchmarks/json-data/*.json
cbits/*.c
changelog.md
examples/*.cabal
examples/*.hs
examples/Twitter/*.hs
ffi/Data/Aeson/Parser/*.hs
include/*.h
tests/JSONTestSuite/test_parsing/*.json
tests/JSONTestSuite/test_transform/*.json
pure/Data/Aeson/Parser/*.hs
flag developer
description: operate in developer mode
default: False
manual: True
flag fast
description: compile without optimizations
default: False
manual: True
flag bytestring-builder
description: Depend on the bytestring-builder package for backwards compatibility.
default: False
manual: False
flag cffi
description: Controls whether to include c-ffi bits or pure haskell. Default to False for security.
default: False
manual: True
library
default-language: Haskell2010
hs-source-dirs: . attoparsec-iso8601/
exposed-modules:
Data.Aeson
Data.Aeson.Encoding
Data.Aeson.Parser
Data.Aeson.Text
Data.Aeson.Types
Data.Aeson.TH
Data.Aeson.Encoding.Internal
Data.Aeson.Internal
Data.Aeson.Internal.Time
-- Deprecated modules
exposed-modules:
Data.Aeson.Encode
other-modules:
Data.Aeson.Encoding.Builder
Data.Aeson.Internal.Functions
Data.Aeson.Parser.Internal
Data.Aeson.Parser.Unescape
Data.Aeson.Parser.Time
Data.Aeson.Types.FromJSON
Data.Aeson.Types.Generic
Data.Aeson.Types.ToJSON
Data.Aeson.Types.Class
Data.Aeson.Types.Internal
Data.Attoparsec.Time
Data.Attoparsec.Time.Internal
build-depends:
attoparsec >= 0.13.0.1,
base >= 4.5 && < 5,
base-compat >= 0.9.1 && < 0.10,
containers >= 0.4.2,
deepseq >= 1.3 && < 1.5,
dlist >= 0.6,
ghc-prim >= 0.2,
hashable >= 1.1.2.0,
scientific >= 0.3.4.7 && < 0.4,
tagged >=0.8.3 && <0.9,
template-haskell >= 2.7,
text >= 1.1.1.0,
time >= 1.1.1.4,
time-locale-compat >= 0.1.1 && < 0.2,
unordered-containers >= 0.2.5.0 && < 0.3,
uuid-types >= 1.0.3 && <1.1,
vector >= 0.8
if flag(bytestring-builder)
build-depends: bytestring >= 0.9.2 && < 0.10.4,
bytestring-builder >= 0.10.4 && < 1
else
build-depends: bytestring >= 0.10.4 && < 0.11
if !impl(ghc >= 8.0)
-- `Data.Semigroup` and `Control.Monad.Fail` and `Control.Monad.IO.Class` are available in base only since GHC 8.0 / base 4.9
build-depends:
semigroups >= 0.18.2 && < 0.19,
transformers >= 0.2.2.0,
transformers-compat >= 0.3,
fail == 4.9.*
if !impl(ghc >= 7.10)
-- `Numeric.Natural` is available in base only since GHC 7.10 / base 4.8
build-depends: nats >= 1 && < 1.2
ghc-options: -Wall
if flag(developer)
ghc-options: -Werror
ghc-prof-options: -auto-all
if flag(fast)
ghc-options: -O0
else
ghc-options: -O2
include-dirs: include
if impl(ghcjs) || !flag(cffi)
hs-source-dirs: pure
other-modules: Data.Aeson.Parser.UnescapePure
else
c-sources: cbits/unescape_string.c
cpp-options: -DCFFI
hs-source-dirs: ffi
other-modules: Data.Aeson.Parser.UnescapeFFI
test-suite tests
default-language: Haskell2010
type: exitcode-stdio-1.0
hs-source-dirs: tests ffi pure
main-is: Tests.hs
c-sources: cbits/unescape_string.c
ghc-options: -Wall -threaded -rtsopts
other-modules:
Data.Aeson.Parser.UnescapeFFI
Data.Aeson.Parser.UnescapePure
DataFamilies.Properties
DataFamilies.Instances
DataFamilies.Encoders
DataFamilies.Types
Encoders
ErrorMessages
Functions
Instances
Options
Properties
SerializationFormatSpec
Types
UnitTests
UnitTests.NullaryConstructors
build-depends:
HUnit,
QuickCheck >= 2.8 && <2.9.3,
aeson,
integer-logarithms >= 1 && <1.1,
attoparsec,
base,
base-compat,
base-orphans >= 0.5.3 && <0.7,
base16-bytestring,
containers,
directory,
dlist,
filepath,
generic-deriving >= 1.10 && < 1.12,
ghc-prim >= 0.2,
hashable >= 1.2.4.0,
scientific,
tagged,
template-haskell,
test-framework,
test-framework-hunit,
test-framework-quickcheck2,
text,
time,
time-locale-compat,
unordered-containers,
uuid-types,
vector,
quickcheck-instances >=0.3.12
if flag(bytestring-builder)
build-depends: bytestring >= 0.9 && < 0.10.4,
bytestring-builder >= 0.10.4 && < 1
else
build-depends: bytestring >= 0.10.4
if !impl(ghc >= 8.0)
build-depends:
semigroups >= 0.18.2 && < 0.19,
transformers >= 0.2.2.0,
transformers-compat >= 0.3
if !impl(ghc >= 7.10)
build-depends: nats >=1 && <1.2
if impl(ghc >= 7.8)
build-depends: hashable-time >= 0.2 && <0.3
if flag(fast)
ghc-options: -fno-enable-rewrite-rules
source-repository head
type: git
location: git://github.com/bos/aeson.git