Add COMPLETE pragmas for Data.Sequence
[packages/containers.git] / containers.cabal
1 name: containers
2 version: 0.5.10.2
3 license: BSD3
4 license-file: LICENSE
5 maintainer: libraries@haskell.org
6 bug-reports: https://github.com/haskell/containers/issues
7 synopsis: Assorted concrete container types
8 category: Data Structures
9 description:
10     This package contains efficient general-purpose implementations
11     of various basic immutable container types.  The declared cost of
12     each operation is either worst-case or amortized, but remains
13     valid even if structures are shared.
14 build-type: Simple
15 cabal-version:  >=1.8
16 extra-source-files:
17     include/containers.h
18     tests/Makefile
19     tests/*.hs
20     benchmarks/Makefile
21     benchmarks/bench-cmp.pl
22     benchmarks/bench-cmp.sh
23     benchmarks/*.hs
24     benchmarks/SetOperations/Makefile
25     benchmarks/SetOperations/*.hs
26     benchmarks/LookupGE/Makefile
27     benchmarks/LookupGE/*.hs
28     changelog.md
29
30 source-repository head
31     type:     git
32     location: http://github.com/haskell/containers.git
33
34 Library
35     build-depends: base >= 4.3 && < 5, array, deepseq >= 1.2 && < 1.5
36     if impl(ghc)
37         build-depends: ghc-prim
38
39     ghc-options: -O2 -Wall
40
41     other-extensions: CPP, BangPatterns
42
43     exposed-modules:
44         Data.IntMap
45         Data.IntMap.Lazy
46         Data.IntMap.Strict
47         Data.IntMap.Internal
48         Data.IntMap.Internal.Debug
49         Data.IntMap.Merge.Lazy
50         Data.IntMap.Merge.Strict
51         Data.IntSet.Internal
52         Data.IntSet
53         Data.Map
54         Data.Map.Lazy
55         Data.Map.Lazy.Merge
56         Data.Map.Merge.Lazy
57         Data.Map.Strict.Internal
58         Data.Map.Strict
59         Data.Map.Strict.Merge
60         Data.Map.Merge.Strict
61         Data.Map.Internal
62         Data.Map.Internal.Debug
63         Data.Set.Internal
64         Data.Set
65         Data.Graph
66         Data.Sequence
67         Data.Sequence.Internal
68         Data.Tree
69         Utils.Containers.Internal.BitUtil
70         Utils.Containers.Internal.BitQueue
71         Utils.Containers.Internal.StrictPair
72
73     other-modules:
74         Utils.Containers.Internal.StrictFold
75         Utils.Containers.Internal.StrictMaybe
76         Utils.Containers.Internal.PtrEquality
77         Data.Map.Internal.DeprecatedShowTree
78         Data.IntMap.Internal.DeprecatedDebug
79
80     include-dirs: include
81
82 -----------------------------
83 -- B E N C H M A R K I N G --
84 -----------------------------
85
86 benchmark intmap-benchmarks
87   type: exitcode-stdio-1.0
88   hs-source-dirs: benchmarks
89   main-is: IntMap.hs
90   ghc-options: -O2
91   build-depends:
92     base >= 4.2 && < 5,
93     containers,
94     criterion >= 0.4.0 && < 1.2,
95     deepseq >= 1.1.0.0 && < 1.5
96
97 benchmark intset-benchmarks
98   type: exitcode-stdio-1.0
99   hs-source-dirs: benchmarks
100   main-is: IntSet.hs
101   ghc-options: -O2
102   build-depends:
103     base >= 4.2 && < 5,
104     containers,
105     criterion >= 0.4.0 && < 1.2,
106     deepseq >= 1.1.0.0 && < 1.5
107
108 benchmark map-benchmarks
109   type: exitcode-stdio-1.0
110   hs-source-dirs: benchmarks
111   main-is: Map.hs
112   ghc-options: -O2
113   build-depends:
114     base >= 4.2 && < 5,
115     containers,
116     criterion >= 0.4.0 && < 1.2,
117     deepseq >= 1.1.0.0 && < 1.5,
118     transformers
119
120 benchmark sequence-benchmarks
121   type: exitcode-stdio-1.0
122   hs-source-dirs: benchmarks
123   main-is: Sequence.hs
124   ghc-options: -O2
125   build-depends:
126     base >= 4.2 && < 5,
127     containers,
128     criterion >= 0.4.0 && < 1.2,
129     deepseq >= 1.1.0.0 && < 1.5,
130     random < 1.2,
131     transformers
132
133 benchmark set-benchmarks
134   type: exitcode-stdio-1.0
135   hs-source-dirs: benchmarks
136   main-is: Set.hs
137   ghc-options: -O2
138   build-depends:
139     base >= 4.2 && < 5,
140     containers,
141     criterion >= 0.4.0 && < 1.2,
142     deepseq >= 1.1.0.0 && < 1.5
143
144 benchmark set-operations-intmap
145   type: exitcode-stdio-1.0
146   hs-source-dirs: benchmarks/SetOperations
147   main-is: SetOperations-IntMap.hs
148   ghc-options: -O2
149   build-depends:
150     base >= 4.2 && < 5,
151     containers,
152     criterion >= 0.4.0 && < 1.2
153
154 benchmark set-operations-intset
155   type: exitcode-stdio-1.0
156   hs-source-dirs: benchmarks/SetOperations
157   main-is: SetOperations-IntSet.hs
158   ghc-options: -O2
159   build-depends:
160     base >= 4.2 && < 5,
161     containers,
162     criterion >= 0.4.0 && < 1.2
163
164 benchmark set-operations-map
165   type: exitcode-stdio-1.0
166   hs-source-dirs: benchmarks/SetOperations
167   main-is: SetOperations-Map.hs
168   ghc-options: -O2
169   build-depends:
170     base >= 4.2 && < 5,
171     containers,
172     criterion >= 0.4.0 && < 1.2
173
174 benchmark set-operations-set
175   type: exitcode-stdio-1.0
176   hs-source-dirs: benchmarks/SetOperations
177   main-is: SetOperations-Set.hs
178   ghc-options: -O2
179   build-depends:
180     base >= 4.2 && < 5,
181     containers,
182     criterion >= 0.4.0 && < 1.2
183
184 benchmark lookupge-intmap
185   type: exitcode-stdio-1.0
186   hs-source-dirs: benchmarks/LookupGE, .
187   main-is: IntMap.hs
188   ghc-options: -O2
189   cpp-options: -DTESTING
190   other-modules:
191     Data.IntMap.Internal
192   build-depends:
193     base >= 4.2 && < 5,
194     containers,
195     criterion >= 0.4.0 && < 1.2,
196     deepseq >= 1.1.0.0 && < 1.5,
197     ghc-prim
198
199 benchmark lookupge-map
200   type: exitcode-stdio-1.0
201   hs-source-dirs: benchmarks/LookupGE, .
202   main-is: Map.hs
203   ghc-options: -O2
204   cpp-options: -DTESTING
205   other-modules:
206     Data.Map.Internal
207   build-depends:
208     base >= 4.2 && < 5,
209     containers,
210     criterion >= 0.4.0 && < 1.2,
211     deepseq >= 1.1.0.0 && < 1.5,
212     ghc-prim
213
214 -------------------
215 -- T E S T I N G --
216 -------------------
217
218 -- Every test-suite contains the build-depends and options of the library,
219 -- plus the testing stuff.
220
221 Test-suite map-lazy-properties
222     hs-source-dirs: tests, .
223     main-is: map-properties.hs
224     type: exitcode-stdio-1.0
225     cpp-options: -DTESTING
226
227     build-depends: base >= 4.3 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
228     ghc-options: -O2
229     other-extensions: CPP, BangPatterns
230     include-dirs: include
231
232     build-depends:
233         HUnit,
234         QuickCheck,
235         test-framework,
236         test-framework-hunit,
237         test-framework-quickcheck2,
238         transformers
239
240 Test-suite map-strict-properties
241     hs-source-dirs: tests, .
242     main-is: map-properties.hs
243     type: exitcode-stdio-1.0
244     cpp-options: -DTESTING -DSTRICT
245
246     build-depends: base >= 4.3 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
247     ghc-options: -O2
248     other-extensions: CPP, BangPatterns
249     include-dirs: include
250
251     build-depends:
252         HUnit,
253         QuickCheck,
254         test-framework,
255         test-framework-hunit,
256         test-framework-quickcheck2,
257         transformers
258
259 Test-suite bitqueue-properties
260     hs-source-dirs: tests, .
261     main-is: bitqueue-properties.hs
262     type: exitcode-stdio-1.0
263     cpp-options: -DTESTING
264
265     build-depends: base >= 4.3 && < 5, ghc-prim
266     ghc-options: -O2
267     other-extensions: CPP, BangPatterns
268     include-dirs: include
269
270     build-depends:
271         QuickCheck,
272         test-framework,
273         test-framework-quickcheck2
274
275 Test-suite set-properties
276     hs-source-dirs: tests, .
277     main-is: set-properties.hs
278     type: exitcode-stdio-1.0
279     cpp-options: -DTESTING
280
281     build-depends: base >= 4.3 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
282     ghc-options: -O2
283     other-extensions: CPP, BangPatterns
284     include-dirs: include
285
286     build-depends:
287         HUnit,
288         QuickCheck,
289         test-framework,
290         test-framework-hunit,
291         test-framework-quickcheck2,
292         transformers
293
294 Test-suite intmap-lazy-properties
295     hs-source-dirs: tests, .
296     main-is: intmap-properties.hs
297     type: exitcode-stdio-1.0
298     cpp-options: -DTESTING
299
300     build-depends: base >= 4.3 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
301     ghc-options: -O2
302     other-extensions: CPP, BangPatterns
303     include-dirs: include
304
305     build-depends:
306         HUnit,
307         QuickCheck,
308         test-framework,
309         test-framework-hunit,
310         test-framework-quickcheck2
311
312 Test-suite intmap-strict-properties
313     hs-source-dirs: tests, .
314     main-is: intmap-properties.hs
315     type: exitcode-stdio-1.0
316     cpp-options: -DTESTING -DSTRICT
317
318     build-depends: base >= 4.3 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
319     ghc-options: -O2
320     other-extensions: CPP, BangPatterns
321     include-dirs: include
322
323     build-depends:
324         HUnit,
325         QuickCheck,
326         test-framework,
327         test-framework-hunit,
328         test-framework-quickcheck2
329
330 Test-suite intset-properties
331     hs-source-dirs: tests, .
332     main-is: intset-properties.hs
333     type: exitcode-stdio-1.0
334     cpp-options: -DTESTING
335
336     build-depends: base >= 4.3 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
337     ghc-options: -O2
338     other-extensions: CPP, BangPatterns
339     include-dirs: include
340
341     build-depends:
342         HUnit,
343         QuickCheck,
344         test-framework,
345         test-framework-hunit,
346         test-framework-quickcheck2
347
348 Test-suite deprecated-properties
349     hs-source-dirs: tests, .
350     main-is: deprecated-properties.hs
351     type: exitcode-stdio-1.0
352     cpp-options: -DTESTING
353
354     build-depends: base >= 4.3 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
355     ghc-options: -O2
356     other-extensions: CPP, BangPatterns
357     include-dirs: include
358
359     build-depends:
360         QuickCheck,
361         test-framework,
362         test-framework-quickcheck2
363
364 Test-suite seq-properties
365     hs-source-dirs: tests, .
366     main-is: seq-properties.hs
367     type: exitcode-stdio-1.0
368     cpp-options: -DTESTING
369
370     build-depends: base >= 4.3 && < 5, array, deepseq >= 1.2 && < 1.5, ghc-prim
371     ghc-options: -O2
372     other-extensions: CPP, BangPatterns
373     include-dirs: include
374
375     build-depends:
376         QuickCheck,
377         test-framework,
378         test-framework-quickcheck2,
379         transformers
380
381 test-suite map-strictness-properties
382   hs-source-dirs: tests, .
383   main-is: map-strictness.hs
384   type: exitcode-stdio-1.0
385
386   build-depends:
387     array,
388     base >= 4.3 && < 5,
389     ChasingBottoms,
390     deepseq >= 1.2 && < 1.5,
391     QuickCheck >= 2.4.0.1,
392     ghc-prim,
393     test-framework >= 0.3.3,
394     test-framework-quickcheck2 >= 0.2.9
395
396   ghc-options: -Wall
397   other-extensions: CPP, BangPatterns
398   include-dirs: include
399
400 test-suite intmap-strictness-properties
401   hs-source-dirs: tests, .
402   main-is: intmap-strictness.hs
403   type: exitcode-stdio-1.0
404   other-extensions: CPP, BangPatterns
405
406   build-depends:
407     array,
408     base >= 4.3 && < 5,
409     ChasingBottoms,
410     deepseq >= 1.2 && < 1.5,
411     QuickCheck >= 2.4.0.1,
412     ghc-prim,
413     test-framework >= 0.3.3,
414     test-framework-quickcheck2 >= 0.2.9
415
416   ghc-options: -Wall
417   include-dirs: include
418
419 test-suite intset-strictness-properties
420   hs-source-dirs: tests, .
421   main-is: intset-strictness.hs
422   type: exitcode-stdio-1.0
423   other-extensions: CPP, BangPatterns
424
425   build-depends:
426     array,
427     base >= 4.3 && < 5,
428     ChasingBottoms,
429     deepseq >= 1.2 && < 1.5,
430     QuickCheck >= 2.4.0.1,
431     ghc-prim,
432     test-framework >= 0.3.3,
433     test-framework-quickcheck2 >= 0.2.9
434
435   ghc-options: -Wall
436   include-dirs: include