repa-array-4.2.2.1: Data/Repa/Array/Auto/Base.hs
module Data.Repa.Array.Auto.Base
( Array
, Elem
, Build)
where
import Data.Repa.Array.Material.Auto (A(..))
import qualified Data.Repa.Array.Generic as G
import qualified Data.Repa.Array.Meta.Window as A
-- | Arrays of elements that are automatically layed out into some
-- efficient runtime representation.
--
-- The implementation uses type families to chose unboxed representations
-- for all elements that can be unboxed. In particular: arrays of unboxed
-- tuples are represented as tuples of unboxed arrays, and nested arrays
-- are represented using a segment descriptor and a single single flat
-- vector containing all the elements.
--
type Array a
= G.Array A a
-- | Class of elements that can be automatically organised into arrays.
type Elem a
= ( G.Bulk A a
, A.Windowable A a)
-- | Class of elements where arrays of those elements can be constructed
-- in arbitrary order.
type Build a
= ( G.Bulk A a
, G.Target A a)