Changelog
[darcs-mirrors/vector.git] / vector.cabal
1 Name:           vector
2 Version:        0.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
45         .
46         * 'MonadPlus' instance for boxed vectors
47         .
48         * Export more @construct@ and @constructN@ from @Safe@ modules
49         .
50         * Require @primitive-0.4.0.1@
51         .
52         Changes in version 0.8
53         .
54         * New functions: @constructN@, @constructrN@
55         .
56         * Support for GHC 7.2 array copying primitives
57         .
58         * New fixity for @(!)@
59         .
60         * Safe Haskell support (contributed by David Terei)
61         .
62         * 'Functor', 'Monad', 'Applicative', 'Alternative', 'Foldable' and
63           'Traversable' instances for boxed vectors
64           (/WARNING: they tend to be slow and are only provided for completeness/)
65         .
66         * 'Show' instances for immutable vectors follow containers conventions
67         .
68         * 'Read' instances for all immutable vector types
69         .
70         * Performance improvements
71         .
72
73 Cabal-Version:  >= 1.2.3
74 Build-Type:     Simple
75
76 Extra-Source-Files:
77       tests/vector-tests.cabal
78       tests/LICENSE
79       tests/Setup.hs
80       tests/Main.hs
81       tests/Boilerplater.hs
82       tests/Utilities.hs
83       tests/Tests/Stream.hs
84       tests/Tests/Vector.hs
85       benchmarks/vector-benchmarks.cabal
86       benchmarks/LICENSE
87       benchmarks/Setup.hs
88       benchmarks/Main.hs
89       benchmarks/Algo/AwShCC.hs
90       benchmarks/Algo/HybCC.hs
91       benchmarks/Algo/Leaffix.hs
92       benchmarks/Algo/ListRank.hs
93       benchmarks/Algo/Quickhull.hs
94       benchmarks/Algo/Rootfix.hs
95       benchmarks/Algo/Spectral.hs
96       benchmarks/Algo/Tridiag.hs
97       benchmarks/TestData/Graph.hs
98       benchmarks/TestData/ParenTree.hs
99       benchmarks/TestData/Random.hs
100       internal/GenUnboxTuple.hs
101       internal/unbox-tuple-instances
102       Changelog
103
104 Flag BoundsChecks
105   Description: Enable bounds checking
106   Default: True
107
108 Flag UnsafeChecks
109   Description: Enable bounds checking in unsafe operations at the cost of a
110                significant performance penalty
111   Default: False
112
113 Flag InternalChecks
114   Description: Enable internal consistency checks at the cost of a
115                significant performance penalty
116   Default: False
117
118
119 Library
120   Extensions: CPP, DeriveDataTypeable
121   Exposed-Modules:
122         Data.Vector.Internal.Check
123
124         Data.Vector.Fusion.Util
125         Data.Vector.Fusion.Stream.Size
126         Data.Vector.Fusion.Stream.Monadic
127         Data.Vector.Fusion.Stream.Monadic.Safe
128         Data.Vector.Fusion.Stream
129         Data.Vector.Fusion.Stream.Safe
130
131         Data.Vector.Generic.Mutable
132         Data.Vector.Generic.Mutable.Safe
133         Data.Vector.Generic.Base
134         Data.Vector.Generic.New
135         Data.Vector.Generic.New.Safe
136         Data.Vector.Generic
137         Data.Vector.Generic.Safe
138
139         Data.Vector.Primitive.Mutable
140         Data.Vector.Primitive.Mutable.Safe
141         Data.Vector.Primitive
142         Data.Vector.Primitive.Safe
143
144         Data.Vector.Storable.Internal
145         Data.Vector.Storable.Mutable
146         Data.Vector.Storable
147
148         Data.Vector.Unboxed.Base
149         Data.Vector.Unboxed.Mutable
150         Data.Vector.Unboxed.Mutable.Safe
151         Data.Vector.Unboxed
152         Data.Vector.Unboxed.Safe
153
154         Data.Vector.Mutable
155         Data.Vector.Mutable.Safe
156         Data.Vector
157         Data.Vector.Safe
158
159   Include-Dirs:
160         include, internal
161
162   Install-Includes:
163         vector.h
164
165   Build-Depends: base >= 4 && < 5, primitive >= 0.4.0.1 && < 0.5
166
167   if impl(ghc<6.13)
168     Ghc-Options: -finline-if-enough-args -fno-method-sharing
169   
170   Ghc-Options: -O2
171
172   if flag(BoundsChecks)
173     cpp-options: -DVECTOR_BOUNDS_CHECKS
174
175   if flag(UnsafeChecks)
176     cpp-options: -DVECTOR_UNSAFE_CHECKS
177
178   if flag(InternalChecks)
179     cpp-options: -DVECTOR_INTERNAL_CHECKS
180