HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Modulelinear-base-0.4.0Haskell2010

Data.Array.Polarized.Pull.Internal

  • 1 type
  • 11 values
datadata Array a where
#

A pull array is an array from which it is easy to extract elements, and this can be done in any order. The linear consumption of a pull array means each element is consumed exactly once, but the length can be accessed freely.

Constructors

Instances3Functor, Semigroup
  • Functor ArrayDefined in linear-base-0.4.0 · Data.Array.Polarized.Pull.Internal
  • Semigroup (Array a)Defined in linear-base-0.4.0 · Data.Array.Polarized.Pull.Internal
  • Semigroup (Array a)Defined in linear-base-0.4.0 · Data.Array.Polarized.Pull.Internal
valuesingleton :: a %1 -> Array a
#

Produce a pull array of lenght 1 consisting of solely the given element.

valuezip :: Array a %1 -> Array b %1 -> Array (a, b)
#

zip [x1, ..., xn] [y1, ..., yn] = [(x1,y1), ..., (xn,yn)] Partial: `zip [x1,x2,...,xn] [y1,y2,...,yp]` is an error if n ≠ p.

valuemake :: a -> Int -> Array a
#

Creates a pull array of given size, filled with the given element.

valuefoldr :: (a %1 -> b %1 -> b) -> b %1 -> Array a %1 -> b
#

A right-fold of a pull array.

valuefromFunction :: (Int -> a) -> Int -> Array a
#

fromFunction arrIndexer len constructs a pull array given a function arrIndexer that goes from an array index to array values and a specified length len.

valuesplit :: Int -> Array a %1 -> (Array a, Array a)
#

split n v = (vl, vr) such that vl has length n.

split is total: if n is larger than the length of v, then vr is empty.

valueindex :: Array a %1 -> Int -> (a, Array a)
#

Index a pull array (without checking bounds)