packages feed

storablevector-0.2.3: storablevector.cabal

Name:                storablevector
Version:             0.2.3
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 @storablevector-streamfusion@ package.
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
Cabal-Version:       >=1.6

Flag splitBase
  description: Choose the new smaller, split-up base package.

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.3

Library
  Build-Depends:
    non-negative >= 0.0.4 && <0.1,
    utility-ht >= 0.0.5 && <0.1,
    transformers >=0.0 && <0.2
  If flag(splitBase)
    Build-Depends: base >= 3 && <5
  Else
    Build-Depends: base >= 1.0 && < 2

  Extensions:          CPP, ForeignFunctionInterface
  GHC-Options:         -Wall -funbox-strict-fields
  Hs-Source-Dirs:      ., slow-foreign-ptr

  Exposed-Modules:
    Data.StorableVector
    Data.StorableVector.Base
    Data.StorableVector.Lazy
    Data.StorableVector.Lazy.Builder
    Data.StorableVector.Lazy.Pattern
    Data.StorableVector.ST.Strict
    Data.StorableVector.ST.Lazy

  Other-Modules:
    -- Cursor has no mature interface so far
    Data.StorableVector.Cursor
    Data.StorableVector.Memory
    Data.StorableVector.ST.Private



Executable test
  GHC-Options:         -Wall -funbox-strict-fields
  Hs-Source-Dirs:      ., slow-foreign-ptr, tests
  Main-Is:             tests.hs
  Other-Modules:       QuickCheckUtils, Instances
  Build-Depends:       bytestring >= 0.9 && < 0.10, QuickCheck >= 1 && < 2
  Extensions:          CPP, ForeignFunctionInterface
  If flag(splitBase)
    Hs-Source-Dirs:    tests-2
    Build-Depends:     base >= 3 && <5, random >= 1.0 && < 1.1
  Else
    Hs-Source-Dirs:    tests-1
    Build-Depends:     base >= 1.0 && < 2
  if !flag(buildTests)
    buildable:         False

Executable speedtest
  GHC-Options:         -Wall -funbox-strict-fields
  Main-Is:             SpeedTestLazy.hs
  Extensions:          CPP, ForeignFunctionInterface
  Hs-Source-Dirs:      ., slow-foreign-ptr, speedtest
  If flag(splitBase)
    Build-Depends:     base >= 3 && <5
  Else
    Build-Depends:     base >= 1.0 && < 2
  If !flag(buildTests)
    Buildable:         False