-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Vector builder -- -- An API for efficient and convenient construction of vectors. It -- provides the composable Builder abstraction, which has -- instances of the Monoid and Semigroup classes. -- --
-- 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 --@package vector-builder @version 0.2 -- | Extensions to the standard mutable Vector API. module VectorBuilder.MVector -- | Construct a mutable vector from a builder. build :: MVector vector element => Builder element -> ST s (vector s element) -- | Extensions to the standard immutable Vector API. module VectorBuilder.Vector -- | Construct a vector from a builder. build :: Vector vector element => Builder element -> vector element module VectorBuilder.Builder -- | An abstraction over the size of a vector for the process of its -- construction. -- -- It postpones the actual construction of a vector until the execution -- of the builder. data Builder element -- | Empty builder. empty :: Builder element -- | Builder of a single element. singleton :: element -> Builder element -- | Builder from a vector of elements. vector :: Vector element -> Builder element