vector-builder: Vector builder

[ library, mit, vector ] [ Propose Tags ] [ Report a vulnerability ]

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 <>
      B.foldable list <>
      B.singleton element

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1, 0.1.1, 0.2, 0.3, 0.3.1, 0.3.2, 0.3.3, 0.3.3.1, 0.3.4, 0.3.4.1, 0.3.5, 0.3.6, 0.3.7, 0.3.7.1, 0.3.7.2, 0.3.8, 0.3.8.1, 0.3.8.2, 0.3.8.3, 0.3.8.4, 0.3.8.5
Dependencies base (>=4.10 && <5), vector (>=0.12 && <0.14) [details]
License MIT
Copyright (c) 2016, Nikita Volkov
Author Nikita Volkov <nikita.y.volkov@mail.ru>
Maintainer Nikita Volkov <nikita.y.volkov@mail.ru>
Category Vector
Home page https://github.com/nikita-volkov/vector-builder
Bug tracker https://github.com/nikita-volkov/vector-builder/issues
Source repo head: git clone git://github.com/nikita-volkov/vector-builder.git
Uploaded by NikitaVolkov at 2023-12-13T18:43:47Z
Distributions Arch:0.3.8.5, Debian:0.3.8, Fedora:0.3.8.4, LTSHaskell:0.3.8.5, NixOS:0.3.8.5, Stackage:0.3.8.5
Reverse Dependencies 12 direct, 4546 indirect [details]
Downloads 23305 total (158 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-12-13 [all 1 reports]