Name: storablevector
Version: 0.2.6
Category: Data
Synopsis: Fast, packed, strict storable arrays with a list interface like ByteString
Description:
Fast, packed, strict storable arrays
with a list interface,
a chunky lazy list interface with variable chunk size
and an interface for write access via the @ST@ monad.
This is much like @bytestring@ and @binary@ but can be used for every 'Foreign.Storable.Storable' type.
See also packages
<http://hackage.haskell.org/cgi-bin/hackage-scripts/package/vector>,
<http://hackage.haskell.org/cgi-bin/hackage-scripts/package/uvector>
with a similar intention.
.
We do not provide advanced fusion optimization,
since especially for lazy vectors
this would either be incorrect or not applicable.
For fusion see <http://hackage.haskell.org/cgi-bin/hackage-scripts/package/storablevector-streamfusion>.
License: BSD3
License-file: LICENSE
Author: Spencer Janssen <sjanssen@cse.unl.edu>, Henning Thielemann <storablevector@henning-thielemann.de>
Maintainer: Henning Thielemann <storablevector@henning-thielemann.de>
Homepage: http://www.haskell.org/haskellwiki/Storable_Vector
Stability: Experimental
Build-Type: Simple
Tested-With: GHC==6.8.2, JHC==0.7.3
Cabal-Version: >=1.6
Extra-Source-Files:
foreign-ptr/fast/Data/StorableVector/Memory.hs
foreign-ptr/slow/Data/StorableVector/Memory.hs
foreign-ptr/jhc/Data/StorableVector/Memory.hs
Flag splitBase
description: Choose the new smaller, split-up base package.
Flag separateSYB
description: Data.Generics available in separate package.
Flag functorInstance
description: Use a custom Functor instance for pairs and functions
Flag buildTests
description: Build test executables
default: False
Source-Repository head
type: darcs
location: http://code.haskell.org/storablevector/
Source-Repository this
type: darcs
location: http://code.haskell.org/storablevector/
tag: 0.2.6
Library
Build-Depends:
non-negative >= 0.0.4 && <0.1,
utility-ht >= 0.0.5 && <0.1,
transformers >=0.2 && <0.3,
QuickCheck >= 1 && < 3
If impl(jhc)
Hs-Source-Dirs: foreign-ptr/jhc
Build-Depends:
statethread >=0.1 && <0.2,
base >=1 && <2
Else
Hs-Source-Dirs: foreign-ptr/slow
If flag(splitBase)
If flag(separateSYB)
Build-Depends:
base >=4 && <5,
syb >=0.1 && <0.2
Else
Build-Depends:
base >=3 && <4
Else
Build-Depends: base >=1 && <2
Extensions: CPP, ForeignFunctionInterface
GHC-Options: -Wall -funbox-strict-fields
Hs-Source-Dirs: .
Exposed-Modules:
Data.StorableVector
Data.StorableVector.Base
Data.StorableVector.Pointer
Data.StorableVector.Lazy
Data.StorableVector.Lazy.Builder
Data.StorableVector.Lazy.Pattern
Data.StorableVector.Lazy.Pointer
Data.StorableVector.ST.Strict
Data.StorableVector.ST.Lazy
If !impl(jhc)
Other-Modules:
-- Cursor has no mature interface so far
Data.StorableVector.Cursor
Other-Modules:
Data.StorableVector.Memory
Data.StorableVector.ST.Private
Data.StorableVector.Lazy.PointerPrivate
Data.StorableVector.Lazy.PointerPrivateIndex
Executable test
GHC-Options: -Wall -funbox-strict-fields
Hs-Source-Dirs: ., foreign-ptr/slow, tests
Main-Is: tests.hs
Other-Modules: QuickCheckUtils, Instances
Extensions: CPP, ForeignFunctionInterface
If flag(buildTests)
Build-Depends:
bytestring >= 0.9 && < 0.10,
QuickCheck >= 1 && < 3
If flag(splitBase)
Build-Depends: random >= 1.0 && < 1.1
If flag(functorInstance)
Hs-Source-Dirs: tests-2
Build-Depends: base >= 3 && <4
Else
Hs-Source-Dirs: tests-1
Build-Depends: base >= 4 && <5
Else
Hs-Source-Dirs: tests-1
Build-Depends: base >= 1.0 && < 2
Else
Buildable: False
Executable speedtest
GHC-Options: -Wall
-- -fvia-C -optc-ffast-math -optc-O3 -optc-ftree-vectorize
Main-Is: SpeedTestChorus.hs
Other-Modules:
Data.StorableVector.Private
Extensions: CPP, ForeignFunctionInterface
Hs-Source-Dirs: ., foreign-ptr/slow, speedtest
If flag(buildTests)
Build-Depends:
sample-frame >=0.0.1 && <0.1,
deepseq >=1.1 && <1.2
If flag(splitBase)
Build-Depends: base >= 3 && <5
Else
Build-Depends: base >= 1.0 && < 2
Else
Buildable: False
Executable speedpointer
GHC-Options: -Wall
Main-Is: Pointer.hs
Extensions: CPP, ForeignFunctionInterface
Hs-Source-Dirs: ., foreign-ptr/slow, speedtest
If flag(buildTests)
If flag(splitBase)
Build-Depends: base >= 3 && <5
Else
Build-Depends: base >= 1.0 && < 2
Else
Buildable: False