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