{-# LANGUAGE ExplicitNamespaces #-} {-# LANGUAGE PatternSynonyms #-} module Data.Array.Nested ( -- * Ranked arrays Ranked(Ranked), ListR(ZR, (:::)), IxR(.., ZIR, (:.:)), IIxR, ShR(.., ZSR, (:$:)), rshape, rindex, rindexPartial, rgenerate, rsumOuter1, rtranspose, rappend, rscalar, rfromVector, rtoVector, runScalar, rrerank, rreplicate, rfromListOuter, rfromList1, rtoListOuter, rtoList1, rslice, rrev1, rreshape, riota, -- ** Lifting orthotope operations to 'Ranked' arrays rlift, rlift2, -- ** Conversions rasXArrayPrim, rfromXArrayPrim, rcastToShaped, rfromOrthotope, -- * Shaped arrays Shaped(Shaped), ListS(ZS, (::$)), IxS(.., ZIS, (:.$)), IIxS, ShS(.., ZSS, (:$$)), KnownShS(..), sshape, sindex, sindexPartial, sgenerate, ssumOuter1, stranspose, sappend, sscalar, sfromVector, stoVector, sunScalar, srerank, sreplicate, sfromListOuter, sfromList1, stoListOuter, stoList1, sslice, srev1, sreshape, siota, -- ** Lifting orthotope operations to 'Shaped' arrays slift, slift2, -- ** Conversions sasXArrayPrim, sfromXArrayPrim, stoRanked, -- * Mixed arrays Mixed, IxX(..), IIxX, KnownShX(..), StaticShX(..), -- TODO: missing msumOuter1? mshape, mindex, mindexPartial, mgenerate, mtranspose, mappend, mscalar, mfromVector, mtoVector, munScalar, mrerank, mreplicate, mfromListOuter, mfromList1, mtoListOuter, mtoList1, mslice, mrev1, mreshape, miota, -- ** Lifting orthotope operations to 'Mixed' arrays mlift, mlift2, -- ** Conversions masXArrayPrim, mfromXArrayPrim, mtoRanked, mcastToShaped, -- * Array elements Elt, PrimElt, Primitive(..), -- * Further utilities / re-exports type (++), Storable, SNat, pattern SNat, HList, Permutation, listSToList, shSToList, ) where import Prelude hiding (mappend) import Data.Array.Mixed import Data.Array.Nested.Internal import Foreign.Storable import GHC.TypeLits