on 1.0.2.0 help sign in
typeable/aeson/aeson.cabal
225 lines 5.6 kB history raw
1name: aeson
2version: 1.0.2.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: Adam Bergmark <adam@bergmark.nl>
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 include/incoherent-compat.h
51 changelog.md
52 examples/*.cabal
53 examples/*.hs
54 examples/Twitter/*.hs
55 include/*.h
56 cbits/*.c
58flag developer
59 description: operate in developer mode
60 default: False
61 manual: True
63flag fast
64 description: compile without optimizations
65 default: False
66 manual: True
68flag bytestring-builder
69 description: Depend on the bytestring-builder package for backwards compatibility.
70 default: False
71 manual: False
73library
74 default-language: Haskell2010
76 exposed-modules:
77 Data.Aeson
78 Data.Aeson.Encoding
79 Data.Aeson.Parser
80 Data.Aeson.Text
81 Data.Aeson.Types
82 Data.Aeson.TH
84 Data.Aeson.Encoding.Internal
85 Data.Aeson.Internal
86 Data.Aeson.Internal.Time
88 -- Deprecated modules
89 exposed-modules:
90 Data.Aeson.Encode
92 other-modules:
93 Data.Aeson.Encoding.Builder
94 Data.Aeson.Internal.Functions
95 Data.Aeson.Parser.Internal
96 Data.Aeson.Parser.Unescape
97 Data.Aeson.Parser.Time
98 Data.Aeson.Types.FromJSON
99 Data.Aeson.Types.Generic
100 Data.Aeson.Types.ToJSON
101 Data.Aeson.Types.Class
102 Data.Aeson.Types.Internal
104 build-depends:
105 attoparsec >= 0.13.0.1,
106 base >= 4.5 && < 5,
107 base-compat >= 0.9.1 && < 0.10,
108 containers >= 0.2.4.1,
109 deepseq >= 1.3,
110 dlist >= 0.2,
111 ghc-prim >= 0.2,
112 hashable >= 1.1.2.0,
113 scientific >= 0.3.4.7 && < 0.4,
114 tagged >=0.8.3 && <0.9,
115 template-haskell >= 2.7,
116 text >= 1.1.1.0,
117 time >= 1.1.1.4,
118 time-locale-compat >= 0.1.1 && < 0.2,
119 unordered-containers >= 0.2.5.0,
120 vector >= 0.8
122 if flag(bytestring-builder)
123 build-depends: bytestring >= 0.9 && < 0.10.4,
124 bytestring-builder >= 0.10.4 && < 1
125 else
126 build-depends: bytestring >= 0.10.4
128 if !impl(ghc >= 8.0)
129 -- `Data.Semigroup` and `Control.Monad.Fail` and `Control.Monad.IO.Class` are available in base only since GHC 8.0 / base 4.9
130 build-depends:
131 semigroups >= 0.18.2 && < 0.19,
132 transformers >= 0.2.2.0,
133 transformers-compat >= 0.3,
134 fail == 4.9.*
136 if !impl(ghc >= 7.10)
137 -- `Numeric.Natural` is available in base only since GHC 7.10 / base 4.8
138 build-depends: nats >= 1 && < 1.2
140 ghc-options: -Wall
142 if flag(developer)
143 ghc-options: -Werror
144 ghc-prof-options: -auto-all
146 if flag(fast)
147 ghc-options: -O0
148 else
149 ghc-options: -O2
151 include-dirs: include
152 c-sources: cbits/unescape_string.c
154test-suite tests
155 default-language: Haskell2010
156 type: exitcode-stdio-1.0
157 hs-source-dirs: tests
158 main-is: Tests.hs
159 other-modules:
160 DataFamilies.Properties
161 DataFamilies.Instances
162 DataFamilies.Encoders
163 DataFamilies.Types
164 Encoders
165 Functions
166 Instances
167 Options
168 Properties
169 Types
170 UnitTests
171 UnitTests.NullaryConstructors
173 ghc-options: -Wall -threaded -rtsopts
175 build-depends:
176 HUnit,
177 QuickCheck >= 2.7 && <2.9.3,
178 aeson,
179 attoparsec,
180 base,
181 base-compat,
182 base-orphans >= 0.5.3 && <0.6,
183 containers,
184 dlist,
185 generic-deriving >= 1.10 && < 1.12,
186 ghc-prim >= 0.2,
187 hashable >= 1.2.4.0,
188 scientific,
189 tagged,
190 template-haskell,
191 test-framework,
192 test-framework-hunit,
193 test-framework-quickcheck2,
194 text,
195 time,
196 time-locale-compat,
197 unordered-containers,
198 vector,
199 quickcheck-instances >=0.3.12
201 if flag(bytestring-builder)
202 build-depends: bytestring >= 0.9 && < 0.10.4,
203 bytestring-builder >= 0.10.4 && < 1
204 else
205 build-depends: bytestring >= 0.10.4
207 if !impl(ghc >= 8.0)
208 build-depends:
209 semigroups >= 0.18.2 && < 0.19,
210 transformers >= 0.2.2.0,
211 transformers-compat >= 0.3
213 if !impl(ghc >= 7.10)
214 build-depends: nats >=1 && <1.2
216 if impl(ghc >= 7.8)
217 build-depends: hashable-time >= 0.2 && <0.3
219source-repository head
220 type: git
221 location: git://github.com/bos/aeson.git
223source-repository head
224 type: mercurial
225 location: https://bitbucket.org/bos/aeson