Fix changelog
[darcs-mirrors/vector.git] / vector.cabal
1 Name:           vector
2 Version:        0.9.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 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
140         Data.Vector.Generic.Mutable.Safe
141         Data.Vector.Generic.Base
142         Data.Vector.Generic.New
143         Data.Vector.Generic.New.Safe
144         Data.Vector.Generic
145         Data.Vector.Generic.Safe
146
147         Data.Vector.Primitive.Mutable
148         Data.Vector.Primitive.Mutable.Safe
149         Data.Vector.Primitive
150         Data.Vector.Primitive.Safe
151
152         Data.Vector.Storable.Internal
153         Data.Vector.Storable.Mutable
154         Data.Vector.Storable
155
156         Data.Vector.Unboxed.Base
157         Data.Vector.Unboxed.Mutable
158         Data.Vector.Unboxed.Mutable.Safe
159         Data.Vector.Unboxed
160         Data.Vector.Unboxed.Safe
161
162         Data.Vector.Mutable
163         Data.Vector.Mutable.Safe
164         Data.Vector
165         Data.Vector.Safe
166
167   Include-Dirs:
168         include, internal
169
170   Install-Includes:
171         vector.h
172
173   Build-Depends: base >= 4 && < 5, primitive >= 0.4.0.1 && < 0.5, ghc-prim
174
175   if impl(ghc<6.13)
176     Ghc-Options: -finline-if-enough-args -fno-method-sharing
177   
178   Ghc-Options: -O2
179
180   if flag(BoundsChecks)
181     cpp-options: -DVECTOR_BOUNDS_CHECKS
182
183   if flag(UnsafeChecks)
184     cpp-options: -DVECTOR_UNSAFE_CHECKS
185
186   if flag(InternalChecks)
187     cpp-options: -DVECTOR_INTERNAL_CHECKS
188