packages feed

persistent-vector-0.1.1: persistent-vector.cabal

name: persistent-vector
version: 0.1.1
synopsis: A persistent sequence based on array mapped tries
license: BSD3
license-file: LICENSE
author: Tristan Ravitch
maintainer: tristan@nochair.net
category: Data
build-type: Simple
cabal-version: >=1.10
extra-source-files: README.md
homepage: https://github.com/travitch/persistent-vector
bug-reports: https://github.com/travitch/persistent-vector/issues

description:
  This package provides persistent vectors based on array mapped
  tries.  The implementation is based on the persistent vectors used
  in clojure, but in a Haskell-style API.  The API is modeled after
  Data.Sequence from the containers library.
  .
  Technically, the element-wise operations are O(log(n)), but the
  underlying tree cannot be more than 7 or 8 levels deep so this is
  effectively constant time.
  .
  One change from the clojure implementation is that this version supports
  O(1) slicing, though it does cheat a little.  Slices retain references
  to elements that cannot be indexed.  These extra references (and the space
  they occupy) can be reclaimed by 'shrink'ing the slice.  This seems like
  a reasonable tradeoff, and, I believe, mirrors the behavior of the vector
  library.
  .
  Highlights:
  .
    * O(1) append element, indexing, updates, length, and slicing
  .
    * Reasonably compact representation

library
  default-language: Haskell2010
  exposed-modules: Data.Vector.Persistent
  other-modules: Data.Vector.Persistent.Array
                 Data.Vector.Persistent.Unsafe
  build-depends: base ==4.*, deepseq
  hs-source-dirs: src
  ghc-options: -Wall
  ghc-prof-options: -auto-all

test-suite pvTests
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  main-is: pvTests.hs
  hs-source-dirs: tests
  ghc-options: -Wall
  build-depends: persistent-vector,
                 base == 4.*,
                 QuickCheck > 2.4,
                 test-framework,
                 test-framework-quickcheck2

benchmark pvBench
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  hs-source-dirs: bench
  main-is: pvBench.hs
  ghc-options: -Wall -O2
  ghc-prof-options: -auto-all
  build-depends: persistent-vector,
                 base == 4.*,
                 containers,
                 criterion >= 1 && < 1.2,
                 deepseq

source-repository head
  type: git
  location: git://github.com/travitch/persistent-vector.git