@hackage vector-builder0.3.8.6
Vector builder
Installation
Dependencies (2)
Dependents (14)
@hackage/hs-opentelemetry-exporter-otlp, @hackage/hgeometry, @hackage/html-tokenizer, @hackage/hs-opentelemetry-sdk, @hackage/iri, @hackage/hgeometry-combinatorial, Show all…
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