File vector.cabal of Package ghc-vector
Cabal-Version: 3.0
Build-Type: Simple
Name: vector
Version: 0.13.2.0
x-revision: 1
-- don't forget to update the changelog file!
License: BSD-3-Clause
License-File: LICENSE
Author: Roman Leshchinskiy <rl@cse.unsw.edu.au>
Maintainer: Haskell Libraries Team <libraries@haskell.org>
Alexey Kuleshevich <alexey@kuleshevi.ch>,
Aleksey Khudyakov <alexey.skladnoy@gmail.com>,
Andrew Lelechenko <andrew.lelechenko@gmail.com>
Copyright: (c) Roman Leshchinskiy 2008-2012,
Alexey Kuleshevich 2020-2022,
Aleksey Khudyakov 2020-2022,
Andrew Lelechenko 2020-2022
Homepage: https://github.com/haskell/vector
Bug-Reports: https://github.com/haskell/vector/issues
Category: Data, Data Structures
Synopsis: Efficient Arrays
Description:
.
An efficient implementation of @Int@-indexed arrays (both mutable
and immutable), with a powerful loop optimisation framework .
.
It is structured as follows:
.
["Data.Vector"] Boxed vectors of arbitrary types.
.
["Data.Vector.Unboxed"] Unboxed vectors with an adaptive
representation based on data type families.
.
["Data.Vector.Storable"] Unboxed vectors of 'Storable' types.
.
["Data.Vector.Primitive"] Unboxed vectors of primitive types as
defined by the @primitive@ package. "Data.Vector.Unboxed" is more
flexible at no performance cost.
.
["Data.Vector.Generic"] Generic interface to the vector types.
.
There is also a (draft) tutorial on common uses of vector.
.
* <http://haskell.org/haskellwiki/Numeric_Haskell:_A_Vector_Tutorial>
Tested-With:
GHC == 8.0.2
GHC == 8.2.2
GHC == 8.4.4
GHC == 8.6.5
GHC == 8.8.4
GHC == 8.10.7
GHC == 9.0.2
GHC == 9.2.8
GHC == 9.4.8
GHC == 9.6.4
GHC == 9.8.2
Extra-doc-files:
changelog.md
README.md
tests/LICENSE
Extra-Source-Files:
internal/GenUnboxTuple.hs
internal/unbox-tuple-instances
source-repository head
type: git
location: https://github.com/haskell/vector.git
subdir: vector
Flag BoundsChecks
Description: Enable bounds checking
Default: True
Manual: True
Flag UnsafeChecks
Description: Enable bounds checking in unsafe operations at the cost of a
significant performance penalty
Default: False
Manual: True
Flag InternalChecks
Description: Enable internal consistency checks at the cost of a
significant performance penalty
Default: False
Manual: True
Flag Wall
Description: Enable all -Wall warnings
Default: False
Manual: True
-- This common sets warning flags passed to GHC as controlled by Wall cabal flag
common flag-Wall
Ghc-Options: -Wall
if !flag(Wall)
Ghc-Options: -fno-warn-orphans
if impl(ghc >= 8.0) && impl(ghc < 8.1)
Ghc-Options: -Wno-redundant-constraints
Library
import: flag-Wall
Default-Language: Haskell2010
Other-Extensions:
BangPatterns
CPP
DeriveDataTypeable
ExistentialQuantification
FlexibleContexts
FlexibleInstances
GADTs
KindSignatures
MagicHash
MultiParamTypeClasses
RankNTypes
ScopedTypeVariables
StandaloneDeriving
TypeFamilies
Exposed-Modules:
Data.Vector.Internal.Check
Data.Vector.Fusion.Util
Data.Vector.Fusion.Stream.Monadic
Data.Vector.Fusion.Bundle.Size
Data.Vector.Fusion.Bundle.Monadic
Data.Vector.Fusion.Bundle
Data.Vector.Generic.Mutable.Base
Data.Vector.Generic.Mutable
Data.Vector.Generic.Base
Data.Vector.Generic.New
Data.Vector.Generic
Data.Vector.Primitive.Mutable
Data.Vector.Primitive
Data.Vector.Storable.Internal
Data.Vector.Storable.Mutable
Data.Vector.Storable
Data.Vector.Unboxed.Base
Data.Vector.Unboxed.Mutable
Data.Vector.Unboxed
Data.Vector.Strict.Mutable
Data.Vector.Strict
Data.Vector.Mutable
Data.Vector
Hs-Source-Dirs:
src
Include-Dirs:
include, internal
Install-Includes:
vector.h
Build-Depends: base >= 4.9 && < 4.22
, primitive >= 0.6.4.0 && < 0.10
, deepseq >= 1.1 && < 1.6
, vector-stream >= 0.1 && < 0.2
Ghc-Options: -O2
if flag(BoundsChecks)
cpp-options: -DVECTOR_BOUNDS_CHECKS
if flag(UnsafeChecks)
cpp-options: -DVECTOR_UNSAFE_CHECKS
if flag(InternalChecks)
cpp-options: -DVECTOR_INTERNAL_CHECKS
-- We want to build test suite in two variants. One built with -O0
-- and another with -O2 in order to catch bugs caused by invalid
-- rewrite rules
common tests-common
Default-Language: Haskell2010
Ghc-Options: -fno-warn-missing-signatures
hs-source-dirs: tests
Build-Depends: base >= 4.5 && < 5
, template-haskell
, base-orphans >= 0.6
, vector
, primitive
, random
, QuickCheck >= 2.9 && < 2.16
, tasty
, tasty-hunit
, tasty-quickcheck
, transformers >= 0.2.0.0
Other-Modules:
Boilerplater
Tests.Bundle
Tests.Move
Tests.Vector.Property
Tests.Vector.Boxed
Tests.Vector.Strict
Tests.Vector.Storable
Tests.Vector.Primitive
Tests.Vector.Unboxed
Tests.Vector.UnitTests
Utilities
default-extensions:
ScopedTypeVariables,
PatternGuards,
MultiParamTypeClasses,
FlexibleContexts,
RankNTypes,
TypeSynonymInstances,
TypeFamilies,
TemplateHaskell
test-suite vector-tests-O0
import: flag-Wall, tests-common
type: exitcode-stdio-1.0
Main-Is: Main.hs
Ghc-Options: -O0 -threaded
test-suite vector-tests-O2
import: flag-Wall, tests-common
type: exitcode-stdio-1.0
Main-Is: Main.hs
Ghc-Options: -O2 -threaded
test-suite vector-doctest
type: exitcode-stdio-1.0
main-is: doctests.hs
hs-source-dirs: tests
default-language: Haskell2010
-- Older GHC don't support DerivingVia and doctests use them
if impl(ghc < 8.6)
buildable: False
-- Attempts to run doctests on macos on GHC8.10 and 9.0 cause linker errors:
-- > ld: warning: -undefined dynamic_lookup may not work with chained fixups
if os(darwin) && impl(ghc >= 8.10) && impl(ghc < 9.2)
buildable: False
build-depends:
base -any
, doctest >=0.15 && <0.24
, primitive >= 0.6.4.0 && < 0.10
, vector -any
test-suite vector-inspection
import: flag-Wall
type: exitcode-stdio-1.0
hs-source-dirs: tests-inspect
main-is: main.hs
default-language: Haskell2010
Other-modules: Inspect
if impl(ghc >= 8.6)
Other-modules: Inspect.DerivingVia
Inspect.DerivingVia.OtherFoo
build-depends:
base -any
, primitive >= 0.6.4.0 && < 0.10
, vector -any
, tasty
, tasty-inspection-testing >= 0.1
library benchmarks-O2
visibility: public
ghc-options: -O2
hs-source-dirs: benchlib
Default-Language: Haskell2010
build-depends:
base
, random >= 1.2
, tasty
, vector
exposed-modules:
Bench.Vector.Algo.MutableSet
Bench.Vector.Algo.ListRank
Bench.Vector.Algo.Rootfix
Bench.Vector.Algo.Leaffix
Bench.Vector.Algo.AwShCC
Bench.Vector.Algo.HybCC
Bench.Vector.Algo.Quickhull
Bench.Vector.Algo.Spectral
Bench.Vector.Algo.Tridiag
Bench.Vector.Algo.FindIndexR
Bench.Vector.Algo.NextPermutation
Bench.Vector.TestData.ParenTree
Bench.Vector.TestData.Graph
Bench.Vector.Tasty
benchmark algorithms
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs: benchmarks
default-language: Haskell2010
build-depends:
base >= 2 && < 5
, random >= 1.2
, tasty
, tasty-bench >= 0.2.1
, vector
, vector:benchmarks-O2
ghc-options: -O2