Changelog
[darcs-mirrors/vector.git] / vector.cabal
1 Name:           vector
2 Version:        0.7.2
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 fusion optimization 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         There is also a (draft) tutorial on common uses of vector.
33         .
34         * <http://haskell.org/haskellwiki/Numeric_Haskell:_A_Vector_Tutorial>
35         .
36         Please use the project trac to submit bug reports and feature
37         requests.
38         .
39         * <http://trac.haskell.org/vector>
40         .
41         Changes in version 0.7.2
42         .
43         * New functions: @constructN@, @constructrN@
44         .
45         * Safe Haskell support (contributed by David Terei)
46         .
47         * Functor, Monad, Applicative, Alternative, Foldable and Traversable
48           instances for boxed vectors
49         .
50         * Support for GHC 7.2 array copying primitives
51         .
52         * Performance improvements
53         .
54         * New fixities for @(!)@
55         .
56         Changes in version 0.7.1
57         .
58         * New functions: @iterateN@, @splitAt@
59         .
60         * New monadic operations: @generateM@, @sequence@, @foldM_@ and
61           variants
62         .
63         * New functions for copying potentially overlapping arrays: @move@,
64           @unsafeMove@
65         .
66         * Specialisations of various monadic operations for primitive monads
67         .
68         * Unsafe casts for Storable vectors
69         .
70         * Efficiency improvements
71         .
72         Changes in version 0.7.0.1
73         .
74         * Dependency on package ghc removed
75         .
76         Changes in version 0.7
77         .
78         * New functions for freezing, copying and thawing vectors: @freeze@,
79           @thaw@, @unsafeThaw@ and @clone@
80         .
81         * @newWith@ and @newUnsafeWith@ on mutable vectors replaced by
82           @replicate@
83         .
84         * New function: @concat@
85         .
86         * New function for safe indexing: @(!?)@
87         .
88         * @Monoid@ instances for all vector types
89         .
90         * Significant recycling and fusion improvements
91         .
92         * Bug fixes
93         .
94         * Support for GHC 7.0
95         .
96
97 Cabal-Version:  >= 1.2.3
98 Build-Type:     Simple
99
100 Extra-Source-Files:
101       tests/vector-tests.cabal
102       tests/LICENSE
103       tests/Setup.hs
104       tests/Main.hs
105       tests/Boilerplater.hs
106       tests/Utilities.hs
107       tests/Tests/Stream.hs
108       tests/Tests/Vector.hs
109       benchmarks/vector-benchmarks.cabal
110       benchmarks/LICENSE
111       benchmarks/Setup.hs
112       benchmarks/Main.hs
113       benchmarks/Algo/AwShCC.hs
114       benchmarks/Algo/HybCC.hs
115       benchmarks/Algo/Leaffix.hs
116       benchmarks/Algo/ListRank.hs
117       benchmarks/Algo/Quickhull.hs
118       benchmarks/Algo/Rootfix.hs
119       benchmarks/Algo/Spectral.hs
120       benchmarks/Algo/Tridiag.hs
121       benchmarks/TestData/Graph.hs
122       benchmarks/TestData/ParenTree.hs
123       benchmarks/TestData/Random.hs
124       internal/GenUnboxTuple.hs
125       internal/unbox-tuple-instances
126       Changelog
127
128 Flag BoundsChecks
129   Description: Enable bounds checking
130   Default: True
131
132 Flag UnsafeChecks
133   Description: Enable bounds checking in unsafe operations at the cost of a
134                significant performance penalty
135   Default: False
136
137 Flag InternalChecks
138   Description: Enable internal consistency checks at the cost of a
139                significant performance penalty
140   Default: False
141
142
143 Library
144   Extensions: CPP, DeriveDataTypeable
145   Exposed-Modules:
146         Data.Vector.Internal.Check
147
148         Data.Vector.Fusion.Util
149         Data.Vector.Fusion.Stream.Size
150         Data.Vector.Fusion.Stream.Monadic
151         Data.Vector.Fusion.Stream.Monadic.Safe
152         Data.Vector.Fusion.Stream
153         Data.Vector.Fusion.Stream.Safe
154
155         Data.Vector.Generic.Mutable
156         Data.Vector.Generic.Mutable.Safe
157         Data.Vector.Generic.Base
158         Data.Vector.Generic.New
159         Data.Vector.Generic.New.Safe
160         Data.Vector.Generic
161         Data.Vector.Generic.Safe
162
163         Data.Vector.Primitive.Mutable
164         Data.Vector.Primitive.Mutable.Safe
165         Data.Vector.Primitive
166         Data.Vector.Primitive.Safe
167
168         Data.Vector.Storable.Internal
169         Data.Vector.Storable.Mutable
170         Data.Vector.Storable
171
172         Data.Vector.Unboxed.Base
173         Data.Vector.Unboxed.Mutable
174         Data.Vector.Unboxed.Mutable.Safe
175         Data.Vector.Unboxed
176         Data.Vector.Unboxed.Safe
177
178         Data.Vector.Mutable
179         Data.Vector.Mutable.Safe
180         Data.Vector
181         Data.Vector.Safe
182
183   Include-Dirs:
184         include, internal
185
186   Install-Includes:
187         vector.h
188
189   Build-Depends: base >= 4 && < 5, primitive >= 0.4 && < 0.5
190
191   if impl(ghc<6.13)
192     Ghc-Options: -finline-if-enough-args -fno-method-sharing
193   
194   Ghc-Options: -O2
195
196   if flag(BoundsChecks)
197     cpp-options: -DVECTOR_BOUNDS_CHECKS
198
199   if flag(UnsafeChecks)
200     cpp-options: -DVECTOR_UNSAFE_CHECKS
201
202   if flag(InternalChecks)
203     cpp-options: -DVECTOR_INTERNAL_CHECKS
204