module GHC.Prim.Array (
consArray#
, snocArray#
, snocArrayWithPadding#
, insertArray#
, deleteArray#
) where
import GHC.Prim
import GHC.Types
foreign import prim "snocArray" snocArray_
:: Array# a -> Any -> Array# a
foreign import prim "snocArrayWithPadding" snocArrayWithPadding_
:: Int# -> Any -> Array# a -> Any -> Array# a
foreign import prim "insertArray" insertArray_
:: Int# -> Any -> Array# a -> Array# a
foreign import prim "deleteArray" deleteArray#
:: Int# -> Array# a -> Array# a
foreign import prim "consArray" consArray_
:: Any -> Array# a -> Array# a
consArray# :: a -> Array# a -> Array# a
consArray# a arr = consArray_ (unsafeCoerce# a) arr
snocArray# :: Array# a -> a -> Array# a
snocArray# arr a = snocArray_ arr (unsafeCoerce# a)
snocArrayWithPadding# :: Int# -> a -> Array# a -> a -> Array# a
snocArrayWithPadding# pad padElem arr a =
snocArrayWithPadding_ pad (unsafeCoerce# padElem) arr (unsafeCoerce# a)
insertArray# :: Int# -> a -> Array# a -> Array# a
insertArray# i a arr = insertArray_ i (unsafeCoerce# a) arr