summaryrefslogtreecommitdiff
path: root/src/Data/Array/Nested.hs
blob: 389a8f5a67f77bc7c0bd446ed8a49119b359e753 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
{-# LANGUAGE ExplicitNamespaces #-}
{-# LANGUAGE PatternSynonyms #-}
module Data.Array.Nested (
  -- * Ranked arrays
  Ranked,
  ListR, pattern (:::), pattern ZR, knownListR,
  IxR(..), pattern (:.:), pattern ZIR, IIxR, knownIxR,
  ShR(..), pattern (:$:), pattern ZSR, knownShR,
  rshape, rindex, rindexPartial, rgenerate, rsumOuter1,
  rtranspose, rappend, rscalar, rfromVector, runScalar,
  rconstant, rfromList, rfromList1, rtoList, rtoList1,
  rslice,
  -- ** Lifting orthotope operations to 'Ranked' arrays
  rlift,

  -- * Shaped arrays
  Shaped,
  ListS, pattern (::$), pattern ZS,
  IxS(..), pattern (:.$), pattern ZIS, IIxS,
  ShS(..), pattern (:$$), pattern ZSS,
  KnownShape(..), SShape(..),
  sshape, sindex, sindexPartial, sgenerate, ssumOuter1,
  stranspose, sappend, sscalar, sfromVector, sunScalar,
  sconstant, sfromList, sfromList1, stoList, stoList1,
  sslice,
  -- ** Lifting orthotope operations to 'Shaped' arrays
  slift,

  -- * Mixed arrays
  Mixed,
  IxX(..), IIxX,
  KnownShapeX(..), StaticShapeX(..),
  mgenerate, mtranspose, mappend, mfromVector, munScalar,
  mconstant, mfromList1, mtoList1, mslice,

  -- * Array elements
  Elt(mshape, mindex, mindexPartial, mscalar, mfromList, mtoList, mlift, mlift2),
  Primitive(..),

  -- * Inductive natural numbers
  module Data.INat,

  -- * Further utilities / re-exports
  type (++),
  Storable,
) where

import Prelude hiding (mappend)

import Data.Array.Mixed
import Data.Array.Nested.Internal
import Data.INat
import Foreign.Storable