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