Cabal revisions of vector-0.3
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-Name: vector-Version: 0.3-License: BSD3-License-File: LICENSE-Author: Roman Leshchinskiy-Maintainer: Roman Leshchinskiy <rl@cse.unsw.edu.au>-Copyright: (c) Roman Leshchinskiy 2008-Homepage: http://darcs.haskell.org/vector-Category: Data Structures-Synopsis: Efficient Arrays-Description:- .- An efficient but highly experimental implementation of Int-indexed- arrays with a powerful loop fusion framework.- .--Cabal-Version: >= 1.2-Build-Type: Simple--Flag EnableAssertions- Description: Enable assertions that check parameters to functions are reasonable.- These will impose a moderate performance cost on users of the library,- with the benefit that you get reasonable errors rather than segmentation faults!- Default: False--Library- Extensions: CPP- Exposed-Modules:- Data.Vector.Fusion.Util- Data.Vector.Fusion.Stream.Size- Data.Vector.Fusion.Stream.Monadic- Data.Vector.Fusion.Stream-- Data.Vector.MVector- Data.Vector.MVector.New- Data.Vector.IVector-- Data.Vector.Unboxed.Unbox- Data.Vector.Unboxed.Mutable.ST- Data.Vector.Unboxed.Mutable.IO- Data.Vector.Unboxed-- Data.Vector.Mutable.ST- Data.Vector.Mutable.IO- Data.Vector- Include-Dirs:- include-- Install-Includes:- phases.h-- Build-Depends: base >= 2 && < 4, array, ghc-prim,- ghc >= 6.9---- -finline-if-enough-args is ESSENTIAL. If we don't have this the partial application--- of e.g. Stream.Monadic.++ to the monad dictionary at the use site in Stream.++ causes--- it to be fruitlessly inlined. This in turn leads to a huge RHS for Stream.++, so it--- doesn't get inlined at the final call site and fusion fails to occur.- Ghc-Options: -finline-if-enough-args- --- It's probably a good idea to compile the library with -O2 as well. However, it's probably--- not as essential as you think because most of the optimisation occurs when the library--- functions from here are inlined into the user programs (which SHOULD be compiled with -O2!).------ We have to fiddle with the assertion stuff at this point too because -O2 implies -fno-ignore-asserts,--- meaning that their relative ordering is CRUCIAL. Setting them together guarantees it.- if flag(enableassertions)- -- Asserts are ignored by default at -O1 or higher- Ghc-Options: -O2 -fno-ignore-asserts- else- Ghc-Options: -O2+Name: vector +Version: 0.3 +x-revision: 1 +License: BSD3 +License-File: LICENSE +Author: Roman Leshchinskiy +Maintainer: Roman Leshchinskiy <rl@cse.unsw.edu.au> +Copyright: (c) Roman Leshchinskiy 2008 +Homepage: http://darcs.haskell.org/vector +Category: Data Structures +Synopsis: Efficient Arrays +Description: + . + An efficient but highly experimental implementation of Int-indexed + arrays with a powerful loop fusion framework. + . + +Cabal-Version: >= 1.2 +Build-Type: Simple + +Flag EnableAssertions + Description: Enable assertions that check parameters to functions are reasonable. + These will impose a moderate performance cost on users of the library, + with the benefit that you get reasonable errors rather than segmentation faults! + Default: False + +Library + Extensions: CPP + Exposed-Modules: + Data.Vector.Fusion.Util + Data.Vector.Fusion.Stream.Size + Data.Vector.Fusion.Stream.Monadic + Data.Vector.Fusion.Stream + + Data.Vector.MVector + Data.Vector.MVector.New + Data.Vector.IVector + + Data.Vector.Unboxed.Unbox + Data.Vector.Unboxed.Mutable.ST + Data.Vector.Unboxed.Mutable.IO + Data.Vector.Unboxed + + Data.Vector.Mutable.ST + Data.Vector.Mutable.IO + Data.Vector + Include-Dirs: + include + + Install-Includes: + phases.h + + Build-Depends: base >= 2 && < 4, array, ghc-prim < 0.3.1, + ghc >= 6.9 && < 7 + +-- -finline-if-enough-args is ESSENTIAL. If we don't have this the partial application +-- of e.g. Stream.Monadic.++ to the monad dictionary at the use site in Stream.++ causes +-- it to be fruitlessly inlined. This in turn leads to a huge RHS for Stream.++, so it +-- doesn't get inlined at the final call site and fusion fails to occur. + Ghc-Options: -finline-if-enough-args + +-- It's probably a good idea to compile the library with -O2 as well. However, it's probably +-- not as essential as you think because most of the optimisation occurs when the library +-- functions from here are inlined into the user programs (which SHOULD be compiled with -O2!). +-- +-- We have to fiddle with the assertion stuff at this point too because -O2 implies -fno-ignore-asserts, +-- meaning that their relative ordering is CRUCIAL. Setting them together guarantees it. + if flag(enableassertions) + -- Asserts are ignored by default at -O1 or higher + Ghc-Options: -O2 -fno-ignore-asserts + else + Ghc-Options: -O2