-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | DiffArray
--
-- This package defines the DiffArray type.
@package diffarray
@version 0.1
-- | Functional arrays with constant-time update.
module Data.Array.Diff
-- | An arbitrary MArray type living in the IO monad can be
-- converted to a diff array.
data IOToDiffArray a i e
-- | Fully polymorphic lazy boxed diff array.
type DiffArray = IOToDiffArray IOArray
-- | Strict unboxed diff array, working only for elements of primitive
-- types but more compact and usually faster than DiffArray.
type DiffUArray = IOToDiffArray IOUArray
newDiffArray :: (MArray a e IO, Ix i) => (i, i) -> [(Int, e)] -> IO (IOToDiffArray a i e)
readDiffArray :: (MArray a e IO, Ix i) => IOToDiffArray a i e -> Int -> IO e
replaceDiffArray :: (MArray a e IO, Ix i) => IOToDiffArray a i e -> [(Int, e)] -> IO (IOToDiffArray a i e)
instance IArray (IOToDiffArray IOUArray) Word64
instance IArray (IOToDiffArray IOUArray) Word32
instance IArray (IOToDiffArray IOUArray) Word16
instance IArray (IOToDiffArray IOUArray) Word8
instance IArray (IOToDiffArray IOUArray) Int64
instance IArray (IOToDiffArray IOUArray) Int32
instance IArray (IOToDiffArray IOUArray) Int16
instance IArray (IOToDiffArray IOUArray) Int8
instance IArray (IOToDiffArray IOUArray) (StablePtr a)
instance IArray (IOToDiffArray IOUArray) Double
instance IArray (IOToDiffArray IOUArray) Float
instance IArray (IOToDiffArray IOUArray) (FunPtr a)
instance IArray (IOToDiffArray IOUArray) (Ptr a)
instance IArray (IOToDiffArray IOUArray) Word
instance IArray (IOToDiffArray IOUArray) Int
instance IArray (IOToDiffArray IOUArray) Char
instance IArray (IOToDiffArray IOUArray) Bool
instance IArray (IOToDiffArray IOArray) e
instance (Ix ix, Show ix) => Show (DiffUArray ix Word64)
instance (Ix ix, Show ix) => Show (DiffUArray ix Word32)
instance (Ix ix, Show ix) => Show (DiffUArray ix Word16)
instance (Ix ix, Show ix) => Show (DiffUArray ix Word8)
instance (Ix ix, Show ix) => Show (DiffUArray ix Int64)
instance (Ix ix, Show ix) => Show (DiffUArray ix Int32)
instance (Ix ix, Show ix) => Show (DiffUArray ix Int16)
instance (Ix ix, Show ix) => Show (DiffUArray ix Int8)
instance (Ix ix, Show ix) => Show (DiffUArray ix Double)
instance (Ix ix, Show ix) => Show (DiffUArray ix Float)
instance (Ix ix, Show ix) => Show (DiffUArray ix Word)
instance (Ix ix, Show ix) => Show (DiffUArray ix Int)
instance (Ix ix, Show ix) => Show (DiffUArray ix Char)
instance (Ix ix, Show ix) => Show (DiffUArray ix Bool)
instance (Ix ix, Show ix, Show e) => Show (DiffArray ix e)