Remove outdated Changelog file
[darcs-mirrors/vector.git] / vector.cabal
1 Name:           vector
2 Version:        0.9.9
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
111 Flag BoundsChecks
112   Description: Enable bounds checking
113   Default: True
114
115 Flag UnsafeChecks
116   Description: Enable bounds checking in unsafe operations at the cost of a
117                significant performance penalty
118   Default: False
119
120 Flag InternalChecks
121   Description: Enable internal consistency checks at the cost of a
122                significant performance penalty
123   Default: False
124
125
126 Library
127   Extensions: CPP, DeriveDataTypeable
128   Exposed-Modules:
129         Data.Vector.Internal.Check
130
131         Data.Vector.Fusion.Util
132         Data.Vector.Fusion.Stream.Size
133         Data.Vector.Fusion.Stream.Monadic
134         Data.Vector.Fusion.Stream.Monadic.Safe
135         Data.Vector.Fusion.Stream
136         Data.Vector.Fusion.Stream.Safe
137
138         Data.Vector.Generic.Mutable.Base
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
174                , primitive >= 0.4.9 && < 0.6
175                , ghc-prim
176                , deepseq >= 1.1 && < 1.4
177
178   if impl(ghc<6.13)
179     Ghc-Options: -finline-if-enough-args -fno-method-sharing
180   
181   Ghc-Options: -O2
182
183   if flag(BoundsChecks)
184     cpp-options: -DVECTOR_BOUNDS_CHECKS
185
186   if flag(UnsafeChecks)
187     cpp-options: -DVECTOR_UNSAFE_CHECKS
188
189   if flag(InternalChecks)
190     cpp-options: -DVECTOR_INTERNAL_CHECKS
191