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