packages feed

vector-builder-0.3.3: vector-builder.cabal

name:
  vector-builder
version:
  0.3.3
synopsis:
  Vector builder
description:
  An API for efficient and convenient construction of vectors.
  It provides the composable `Builder` abstraction, which has instances of the `Monoid` and `Semigroup` classes. 
  .
  [Usage]
  .
  First you use the `Builder` abstraction to specify the structure of the vector.
  Then you execute the builder to actually produce the vector.
  .
  [Example]
  .
  The following code shows how you can efficiently concatenate different datastructures into a single immutable vector:
  .
  >
  >import qualified Data.Vector as A
  >import qualified VectorBuilder.Builder as B
  >import qualified VectorBuilder.Vector as C
  >
  >
  >myVector :: A.Vector a -> [a] -> a -> A.Vector a
  >myVector vector list element =
  >  C.build builder
  >  where
  >    builder =
  >      B.vector vector <>
  >      foldMap B.singleton list <>
  >      B.singleton element
category:
  Vector
homepage:
  https://github.com/nikita-volkov/vector-builder
bug-reports:
  https://github.com/nikita-volkov/vector-builder/issues 
author:
  Nikita Volkov <nikita.y.volkov@mail.ru>
maintainer:
  Nikita Volkov <nikita.y.volkov@mail.ru>
copyright:
  (c) 2016, Nikita Volkov
license:
  MIT
license-file:
  LICENSE
build-type:
  Simple
cabal-version:
  >=1.10


source-repository head
  type:
    git
  location:
    git://github.com/nikita-volkov/vector-builder.git


library
  hs-source-dirs:
    library
  default-extensions:
    Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
  default-language:
    Haskell2010
  other-modules:
    VectorBuilder.Private.Prelude
    VectorBuilder.Private.Update
    VectorBuilder.Private.Builder
  exposed-modules:
    VectorBuilder.Builder
    VectorBuilder.MVector
    VectorBuilder.Vector
  build-depends:
    vector >= 0.11 && < 0.13,
    semigroups >= 0.16 && < 0.20,
    base-prelude < 2,
    base >= 4.6 && < 5


test-suite tests
  type:
    exitcode-stdio-1.0
  hs-source-dirs:
    tests
  main-is:
    Main.hs
  other-modules:
    Main.Sample
  default-extensions:
    Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
  default-language:
    Haskell2010
  build-depends:
    -- testing:
    tasty == 0.11.*,
    tasty-quickcheck == 0.8.*,
    tasty-hunit == 0.9.*,
    quickcheck-instances >= 0.3.11 && < 0.4,
    -- 
    vector-builder,
    -- 
    rebase


benchmark foldl-benchmark
  type: 
    exitcode-stdio-1.0
  hs-source-dirs:
    foldl-benchmark
  main-is:
    Main.hs
  ghc-options:
    -O2
    -threaded
    "-with-rtsopts=-N"
    -rtsopts
  default-extensions:
    Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
  default-language:
    Haskell2010
  build-depends:
    vector-builder,
    foldl == 1.2.*,
    -- benchmarking:
    criterion >= 1.1 && < 2,
    -- general:
    rerebase < 2


test-suite foldl-profiling
  type: 
    exitcode-stdio-1.0
  hs-source-dirs:
    foldl-profiling
  main-is:
    Main.hs
  ghc-options:
    -O2
    -threaded
    "-with-rtsopts=-N"
    -rtsopts
  default-extensions:
    Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
  default-language:
    Haskell2010
  build-depends:
    vector-builder,
    foldl == 1.2.*,
    -- benchmarking:
    criterion >= 1.1 && < 2,
    -- general:
    bug == 1.*,
    rerebase < 2