Array +Foreign.Marshal

module Foreign.Marshal.Array
base Foreign.Marshal.Array
Marshalling support: routines allocating, storing, and retrieving Haskell lists that are represented as arrays in the foreign language
package ArrayRef
package
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
package array
package
In addition to providing the Data.Array module <http:www.haskell.orgonlinereporthaskell2010/haskellch14.html as specified in the Haskell 2010 Language Report>, this package also 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.5.0.0
package array-forth
package
This is a package for working with arrayForth. This is a variant of Forth used by GreenArrays chips. This package contains an arrayForth simulator, two different representations of arrayForth programs and some utilities like parsing. It also supports synthesizing arrayForth programs using MCMC. The basic idea is to find arrayForth programs by taking a simple prior distribution of programs and using a randomized hill-climbing algorithm to find a program fulfilling certain tests. Version 0.2.0.6
package array-utils
package
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
allocaArray :: Storable a => Int -> (Ptr a -> IO b) -> IO b
base Foreign.Marshal.Array
Temporarily allocate space for the given number of elements (like Foreign.Marshal.Alloc.alloca, but for multiple elements).
allocaArray0 :: Storable a => Int -> (Ptr a -> IO b) -> IO b
base Foreign.Marshal.Array
Like allocaArray, but add an extra position to hold a special termination element.
copyArray :: Storable a => Ptr a -> Ptr a -> Int -> IO ()
base Foreign.Marshal.Array
Copy the given number of elements from the second array (source) into the first array (destination); the copied areas may not overlap
lengthArray0 :: (Storable a, Eq a) => a -> Ptr a -> IO Int
base Foreign.Marshal.Array
Return the number of elements in an array, excluding the terminator
mallocArray :: Storable a => Int -> IO (Ptr a)
base Foreign.Marshal.Array
Allocate storage for the given number of elements of a storable type (like Foreign.Marshal.Alloc.malloc, but for multiple elements).
mallocArray0 :: Storable a => Int -> IO (Ptr a)
base Foreign.Marshal.Array
Like mallocArray, but add an extra position to hold a special termination element.
moveArray :: Storable a => Ptr a -> Ptr a -> Int -> IO ()
base Foreign.Marshal.Array
Copy the given number of elements from the second array (source) into the first array (destination); the copied areas may overlap
newArray :: Storable a => [a] -> IO (Ptr a)
base Foreign.Marshal.Array
Write a list of storable elements into a newly allocated, consecutive sequence of storable values (like Foreign.Marshal.Utils.new, but for multiple elements).
newArray0 :: Storable a => a -> [a] -> IO (Ptr a)
base Foreign.Marshal.Array
Write a list of storable elements into a newly allocated, consecutive sequence of storable values, marker
peekArray :: Storable a => Int -> Ptr a -> IO [a]
base Foreign.Marshal.Array
Convert an array of given length into a Haskell list. The implementation is tail-recursive and so uses constant stack space.
peekArray0 :: (Storable a, Eq a) => a -> Ptr a -> IO [a]
base Foreign.Marshal.Array
Convert an array terminated by the given end marker into a Haskell list
pokeArray :: Storable a => Ptr a -> [a] -> IO ()
base Foreign.Marshal.Array
Write the list elements consecutive into memory
pokeArray0 :: Storable a => a -> Ptr a -> [a] -> IO ()
base Foreign.Marshal.Array
Write the list elements consecutive into memory and terminate them with the given marker element
pooledMallocArray :: Storable a => Pool -> Int -> IO (Ptr a)
base Foreign.Marshal.Pool
Allocate storage for the given number of elements of a storable type in the pool.
pooledMallocArray0 :: Storable a => Pool -> Int -> IO (Ptr a)
base Foreign.Marshal.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.

Show more results