StorableArray

data StorableArray i e
array Data.Array.Storable, array Data.Array.Storable.Safe
The array type
touchStorableArray :: StorableArray i e -> IO ()
array Data.Array.Storable, array Data.Array.Storable.Safe
If you want to use it afterwards, ensure that you touchStorableArray after the last use of the pointer, so the array is not freed too early.
unsafeForeignPtrToStorableArray :: Ix i => ForeignPtr e -> (i, i) -> IO (StorableArray i e)
array Data.Array.Unsafe, array Data.Array.Storable
Construct a StorableArray from an arbitrary ForeignPtr. It is the caller's responsibility to ensure that the ForeignPtr points to an area of memory sufficient for the specified bounds.
withStorableArray :: StorableArray i e -> (Ptr e -> IO a) -> IO a
array Data.Array.Storable, array Data.Array.Storable.Safe
The pointer to the array contents is obtained by withStorableArray. The idea is similar to ForeignPtr (used internally here). The pointer should be used only during execution of the IO action retured by the function passed as argument to withStorableArray.