Added NFData instances for all vectors
[darcs-mirrors/vector.git] / vector.cabal
1 Name:           vector
2 Version:        0.9.9
3 License:        BSD3
4 License-File:   LICENSE
5 Author:         Roman Leshchinskiy <rl@cse.unsw.edu.au>
6 Maintainer:     Roman Leshchinskiy <rl@cse.unsw.edu.au>
7 Copyright:      (c) Roman Leshchinskiy 2008-2011
8 Homepage:       http://code.haskell.org/vector
9 Bug-Reports:    http://trac.haskell.org/vector
10 Category:       Data, Data Structures
11 Synopsis:       Efficient Arrays
12 Description:
13         .
14         An efficient implementation of Int-indexed arrays (both mutable
15         and immutable), with a powerful loop optimisation framework .
16         .
17         It is structured as follows:
18         .
19         ["Data.Vector"] Boxed vectors of arbitrary types.
20         .
21         ["Data.Vector.Unboxed"] Unboxed vectors with an adaptive
22         representation based on data type families.
23         .
24         ["Data.Vector.Storable"] Unboxed vectors of 'Storable' types.
25         .
26         ["Data.Vector.Primitive"] Unboxed vectors of primitive types as
27         defined by the @primitive@ package. "Data.Vector.Unboxed" is more
28         flexible at no performance cost.
29         .
30         ["Data.Vector.Generic"] Generic interface to the vector types.
31         .
32         Each module has a @Safe@ version with is marked as @Trustworthy@
33         (see <http://hackage.haskell.org/trac/ghc/wiki/SafeHaskell>).
34         .
35         There is also a (draft) tutorial on common uses of vector.
36         .
37         * <http://haskell.org/haskellwiki/Numeric_Haskell:_A_Vector_Tutorial>
38         .
39         Please use the project trac to submit bug reports and feature
40         requests.
41         .
42         * <http://trac.haskell.org/vector>
43         .
44         Changes in version 0.9.1
45         .
46         * New functions: @unsafeFromForeignPtr0@ and @unsafeToForeignPtr0@
47         .
48         * Small performance improvements
49         .
50         * Fixes for GHC 7.4
51         .
52         Changes in version 0.9
53         .
54         * 'MonadPlus' instance for boxed vectors
55         .
56         * Export more @construct@ and @constructN@ from @Safe@ modules
57         .
58         * Require @primitive-0.4.0.1@
59         .
60         Changes in version 0.8
61         .
62         * New functions: @constructN@, @constructrN@
63         .
64         * Support for GHC 7.2 array copying primitives
65         .
66         * New fixity for @(!)@
67         .
68         * Safe Haskell support (contributed by David Terei)
69         .
70         * 'Functor', 'Monad', 'Applicative', 'Alternative', 'Foldable' and
71           'Traversable' instances for boxed vectors
72           (/WARNING: they tend to be slow and are only provided for completeness/)
73         .
74         * 'Show' instances for immutable vectors follow containers conventions
75         .
76         * 'Read' instances for all immutable vector types
77         .
78         * Performance improvements
79         .
80
81 Cabal-Version:  >= 1.2.3
82 Build-Type:     Simple
83
84 Extra-Source-Files:
85       tests/vector-tests.cabal
86       tests/LICENSE
87       tests/Setup.hs
88       tests/Main.hs
89       tests/Boilerplater.hs
90       tests/Utilities.hs
91       tests/Tests/Stream.hs
92       tests/Tests/Vector.hs
93       benchmarks/vector-benchmarks.cabal
94       benchmarks/LICENSE
95       benchmarks/Setup.hs
96       benchmarks/Main.hs
97       benchmarks/Algo/AwShCC.hs
98       benchmarks/Algo/HybCC.hs
99       benchmarks/Algo/Leaffix.hs
100       benchmarks/Algo/ListRank.hs
101       benchmarks/Algo/Quickhull.hs
102       benchmarks/Algo/Rootfix.hs
103       benchmarks/Algo/Spectral.hs
104       benchmarks/Algo/Tridiag.hs
105       benchmarks/TestData/Graph.hs
106       benchmarks/TestData/ParenTree.hs
107       benchmarks/TestData/Random.hs
108       internal/GenUnboxTuple.hs
109       internal/unbox-tuple-instances
110       Changelog
111
112 Flag BoundsChecks
113   Description: Enable bounds checking
114   Default: True
115
116 Flag UnsafeChecks
117   Description: Enable bounds checking in unsafe operations at the cost of a
118                significant performance penalty
119   Default: False
120
121 Flag InternalChecks
122   Description: Enable internal consistency checks at the cost of a
123                significant performance penalty
124   Default: False
125
126
127 Library
128   Extensions: CPP, DeriveDataTypeable
129   Exposed-Modules:
130         Data.Vector.Internal.Check
131
132         Data.Vector.Fusion.Util
133         Data.Vector.Fusion.Stream.Size
134         Data.Vector.Fusion.Stream.Monadic
135         Data.Vector.Fusion.Stream.Monadic.Safe
136         Data.Vector.Fusion.Stream
137         Data.Vector.Fusion.Stream.Safe
138
139         Data.Vector.Generic.Mutable.Base
140         Data.Vector.Generic.Mutable
141         Data.Vector.Generic.Mutable.Safe
142         Data.Vector.Generic.Base
143         Data.Vector.Generic.New
144         Data.Vector.Generic.New.Safe
145         Data.Vector.Generic
146         Data.Vector.Generic.Safe
147
148         Data.Vector.Primitive.Mutable
149         Data.Vector.Primitive.Mutable.Safe
150         Data.Vector.Primitive
151         Data.Vector.Primitive.Safe
152
153         Data.Vector.Storable.Internal
154         Data.Vector.Storable.Mutable
155         Data.Vector.Storable
156
157         Data.Vector.Unboxed.Base
158         Data.Vector.Unboxed.Mutable
159         Data.Vector.Unboxed.Mutable.Safe
160         Data.Vector.Unboxed
161         Data.Vector.Unboxed.Safe
162
163         Data.Vector.Mutable
164         Data.Vector.Mutable.Safe
165         Data.Vector
166         Data.Vector.Safe
167
168   Include-Dirs:
169         include, internal
170
171   Install-Includes:
172         vector.h
173
174   Build-Depends: base >= 4 && < 5, primitive >= 0.4.0.1 && < 0.5, ghc-prim
175
176   if impl(ghc<6.13)
177     Ghc-Options: -finline-if-enough-args -fno-method-sharing
178   
179   Ghc-Options: -O2
180
181   if flag(BoundsChecks)
182     cpp-options: -DVECTOR_BOUNDS_CHECKS
183
184   if flag(UnsafeChecks)
185     cpp-options: -DVECTOR_UNSAFE_CHECKS
186
187   if flag(InternalChecks)
188     cpp-options: -DVECTOR_INTERNAL_CHECKS
189