on 1.0.0.0 help sign in
typeable/aeson/aeson.cabal
221 lines 5.5 kB history raw
1name: aeson
2version: 1.0.0.0
3license: BSD3
4license-file: LICENSE
5category: Text, Web, JSON
6copyright: (c) 2011-2016 Bryan O'Sullivan
7 (c) 2011 MailRank, Inc.
8author: Bryan O'Sullivan <bos@serpentine.com>
9maintainer: Bryan O'Sullivan <bos@serpentine.com>
10stability: experimental
11tested-with: GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1
12synopsis: Fast JSON parsing and encoding
13cabal-version: >= 1.10
14homepage: https://github.com/bos/aeson
15bug-reports: https://github.com/bos/aeson/issues
16build-type: Simple
17description:
18 A JSON parsing and encoding library optimized for ease of use
19 and high performance.
20 .
21 To get started, see the documentation for the @Data.Aeson@ module
22 below.
23 .
24 Parsing performance on a late 2013 MacBook Pro (2.6GHz Core i7),
25 running 64-bit GHC 7.10.1, for mostly-English tweets from Twitter's
26 JSON search API:
27 .
28 * 6.4 KB payloads, English: 7570 msg\/sec (47.6 MB\/sec)
29 .
30 * 14.6 KB payloads, Japanese: 3261 msg\/sec (46.6 MB\/sec)
31 .
32 Encoding performance on the same machine and data:
33 .
34 * 6.4 KB payloads, English: 22738 msg\/sec (142.9 MB\/sec)
35 .
36 * 14.6 KB payloads, Japanese: 15911 msg\/sec (227.4 MB\/sec)
37 .
38 (A note on naming: in Greek mythology, Aeson was the father of Jason.)
40extra-source-files:
41 README.markdown
42 benchmarks/*.cabal
43 benchmarks/*.hs
44 benchmarks/*.py
45 benchmarks/Compare/*.hs
46 benchmarks/Makefile
47 benchmarks/Typed/*.hs
48 benchmarks/json-data/*.json
49 include/overlapping-compat.h
50 changelog.md
51 examples/*.cabal
52 examples/*.hs
53 examples/Twitter/*.hs
54 include/*.h
56flag developer
57 description: operate in developer mode
58 default: False
59 manual: True
61flag fast
62 description: compile without optimizations
63 default: False
64 manual: True
66flag bytestring-builder
67 description: Depend on the bytestring-builder package for backwards compatibility.
68 default: False
69 manual: False
71library
72 default-language: Haskell2010
74 exposed-modules:
75 Data.Aeson
76 Data.Aeson.Encoding
77 Data.Aeson.Parser
78 Data.Aeson.Text
79 Data.Aeson.Types
80 Data.Aeson.TH
82 Data.Aeson.Encoding.Internal
83 Data.Aeson.Internal
84 Data.Aeson.Internal.Time
86 -- Deprecated modules
87 exposed-modules:
88 Data.Aeson.Encode
90 other-modules:
91 Data.Aeson.Encoding.Builder
92 Data.Aeson.Internal.Functions
93 Data.Aeson.Parser.Internal
94 Data.Aeson.Parser.Time
95 Data.Aeson.Types.FromJSON
96 Data.Aeson.Types.Generic
97 Data.Aeson.Types.ToJSON
98 Data.Aeson.Types.Class
99 Data.Aeson.Types.Internal
101 build-depends:
102 attoparsec >= 0.13.0.1,
103 base >= 4.5 && < 5,
104 base-compat >= 0.9.1 && < 0.10,
105 containers >= 0.2.4.1,
106 deepseq >= 1.3,
107 dlist >= 0.2,
108 ghc-prim >= 0.2,
109 hashable >= 1.1.2.0,
110 scientific >= 0.3.4.7 && < 0.4,
111 tagged >=0.8.3 && <0.9,
112 template-haskell >= 2.7,
113 text >= 1.1.1.0,
114 time >= 1.1.1.4,
115 time-locale-compat >= 0.1.1 && < 0.2,
116 unordered-containers >= 0.2.5.0,
117 vector >= 0.8
119 if flag(bytestring-builder)
120 build-depends: bytestring >= 0.9 && < 0.10.4,
121 bytestring-builder >= 0.10.4 && < 1
122 else
123 build-depends: bytestring >= 0.10.4
125 if !impl(ghc >= 8.0)
126 -- `Data.Semigroup` and `Control.Monad.Fail` and `Control.Monad.IO.Class` are available in base only since GHC 8.0 / base 4.9
127 build-depends:
128 semigroups >= 0.18.2 && < 0.19,
129 transformers >= 0.2.2.0,
130 transformers-compat >= 0.3,
131 fail == 4.9.*
133 if !impl(ghc >= 7.10)
134 -- `Numeric.Natural` is available in base only since GHC 7.10 / base 4.8
135 build-depends: nats >= 1 && < 1.2
137 ghc-options: -Wall
139 if flag(developer)
140 ghc-options: -Werror
141 ghc-prof-options: -auto-all
143 if flag(fast)
144 ghc-options: -O0
145 else
146 ghc-options: -O2
148 include-dirs: include
150test-suite tests
151 default-language: Haskell2010
152 type: exitcode-stdio-1.0
153 hs-source-dirs: tests
154 main-is: Tests.hs
155 other-modules:
156 DataFamilies.Properties
157 DataFamilies.Instances
158 DataFamilies.Encoders
159 DataFamilies.Types
160 Encoders
161 Functions
162 Instances
163 Options
164 Properties
165 Types
166 UnitTests
167 UnitTests.NullaryConstructors
169 ghc-options: -Wall -threaded -rtsopts
171 build-depends:
172 HUnit,
173 QuickCheck >= 2.7 && <2.8.3,
174 aeson,
175 attoparsec,
176 base,
177 base-compat,
178 base-orphans >= 0.5.3 && <0.6,
179 containers,
180 dlist,
181 generic-deriving >= 1.10 && < 1.11,
182 ghc-prim >= 0.2,
183 hashable >= 1.2.4.0,
184 scientific,
185 tagged,
186 template-haskell,
187 test-framework,
188 test-framework-hunit,
189 test-framework-quickcheck2,
190 text,
191 time,
192 time-locale-compat,
193 unordered-containers,
194 vector,
195 quickcheck-instances >=0.3.12
197 if flag(bytestring-builder)
198 build-depends: bytestring >= 0.9 && < 0.10.4,
199 bytestring-builder >= 0.10.4 && < 1
200 else
201 build-depends: bytestring >= 0.10.4
203 if !impl(ghc >= 8.0)
204 build-depends:
205 semigroups >= 0.18.2 && < 0.19,
206 transformers >= 0.2.2.0,
207 transformers-compat >= 0.3
209 if !impl(ghc >= 7.10)
210 build-depends: nats >=1 && <1.2
212 if impl(ghc >= 7.8)
213 build-depends: hashable-time >= 0.2 && <0.3
215source-repository head
216 type: git
217 location: git://github.com/bos/aeson.git
219source-repository head
220 type: mercurial
221 location: https://bitbucket.org/bos/aeson