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