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