Array +Foreign.Marshal
Marshalling support: routines allocating, storing, and retrieving Haskell lists that are represented as arrays in the foreign language
This package defines the classes IArray of immutable arrays and MArray of arrays mutable within appropriate monads, as well as some instances of these classes.
Version 0.4.0.0
An collection of functions for working with multiple elements in mutable arrays. It is hoped some or all of these functions will be included in the array package for GHC 7.2. New in this version: Basically all names have been changed. A lot of redundant information has been removed as well.
Version 0.3
This array library supports: unboxed references, Monad-independent references, syntax sugar for mutable types, a reimplemented Arrays library, changes in MArray usage, and using dynamic (resizable) arrays
Version 0.1.3.1
Temporarily allocate space for the given number of elements (like Foreign.Marshal.Alloc.alloca, but for multiple elements).
Like allocaArray, but add an extra position to hold a special termination element.
Copy the given number of elements from the second array (source) into the first array (destination); the copied areas may not overlap
Return the number of elements in an array, excluding the terminator
Allocate storage for the given number of elements of a storable type (like Foreign.Marshal.Alloc.malloc, but for multiple elements).
Like mallocArray, but add an extra position to hold a special termination element.
Copy the given number of elements from the second array (source) into the first array (destination); the copied areas may overlap
Write a list of storable elements into a newly allocated, consecutive sequence of storable values (like Foreign.Marshal.Utils.new, but for multiple elements).
Write a list of storable elements into a newly allocated, consecutive sequence of storable values, marker
Convert an array of given length into a Haskell list. The implementation is tail-recursive and so uses constant stack space.
Convert an array terminated by the given end marker into a Haskell list
Write the list elements consecutive into memory
Write the list elements consecutive into memory and terminate them with the given marker element
Allocate storage for the given number of elements of a storable type in the pool.
Allocate storage for the given number of elements of a storable type in the pool, but leave room for an extra element to signal the end of the array.
Allocate consecutive storage for a list of values in the given pool and marshal these values into it.
Show more results