-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Extra foreign primops for primitive arrays -- -- Boxed arrays cannot be allocated without initialization, because in -- that case the garbage collector would try to follow wild pointers. -- This is a source of inefficiency; quite a few operations must allocate -- a new array, initialize it, then overwrite the initial elements with -- the actually relevant data. This package provides low-level primitives -- for doing such operations without superfluous copying. @package array-primops @version 0.2.0.1 module GHC.Prim.SmallArray -- | Prepend an element to an array. consSmallArray# :: a -> SmallArray# a -> SmallArray# a -- | Append an element to the end of an array. snocSmallArray# :: SmallArray# a -> a -> SmallArray# a -- | Append an element to the array and pad the end with another element. -- The first argument is the size of the padding, the second is the pad -- element. snocSmallArrayWithPadding# :: Int# -> a -> SmallArray# a -> a -> SmallArray# a -- | Insert new element at position. insertSmallArray# :: Int# -> a -> SmallArray# a -> SmallArray# a -- | Delete element at position. deleteSmallArray# :: Int# -> SmallArray# a -> SmallArray# a module GHC.Prim.Array -- | Prepend an element to an array. consArray# :: a -> Array# a -> Array# a -- | Append an element to the end of an array. snocArray# :: Array# a -> a -> Array# a -- | Append an element to the array and pad the end with another element. -- The first argument is the size of the padding, the second is the pad -- element. snocArrayWithPadding# :: Int# -> a -> Array# a -> a -> Array# a -- | Insert new element at position. insertArray# :: Int# -> a -> Array# a -> Array# a -- | Delete element at position. deleteArray# :: Int# -> Array# a -> Array# a