diff options
| -rw-r--r-- | src/Data/Array/Nested/Convert.hs | 2 | ||||
| -rw-r--r-- | src/Data/Array/Nested/Mixed.hs | 4 | ||||
| -rw-r--r-- | src/Data/Array/Nested/Mixed/Shape.hs | 4 | ||||
| -rw-r--r-- | src/Data/Array/Nested/Ranked/Shape.hs | 8 | ||||
| -rw-r--r-- | src/Data/Array/Nested/Shaped/Shape.hs | 10 | 
5 files changed, 20 insertions, 8 deletions
| diff --git a/src/Data/Array/Nested/Convert.hs b/src/Data/Array/Nested/Convert.hs index 723e965..837e482 100644 --- a/src/Data/Array/Nested/Convert.hs +++ b/src/Data/Array/Nested/Convert.hs @@ -41,7 +41,7 @@ import Data.Array.Nested.Shaped.Base  import Data.Array.Nested.Shaped.Shape  import Data.Array.Nested.Types --- * Shape/index/list casting functions +-- * Shape or index or list casting functions  -- * To ranked diff --git a/src/Data/Array/Nested/Mixed.hs b/src/Data/Array/Nested/Mixed.hs index 54f8fe6..652f1c6 100644 --- a/src/Data/Array/Nested/Mixed.hs +++ b/src/Data/Array/Nested/Mixed.hs @@ -380,9 +380,7 @@ class Elt a where  -- of this class with those of 'Elt': some instances have an additional  -- "known-shape" constraint.  -- --- This class is (currently) only required for 'mgenerate', --- 'Data.Array.Nested.Ranked.rgenerate' and --- 'Data.Array.Nested.Shaped.sgenerate'. +-- This class is (currently) only required for `memptyArray` and 'mgenerate'.  class Elt a => KnownElt a where    -- | Create an empty array. The given shape must have size zero; this may or may not be checked.    memptyArrayUnsafe :: IShX sh -> Mixed sh a diff --git a/src/Data/Array/Nested/Mixed/Shape.hs b/src/Data/Array/Nested/Mixed/Shape.hs index bf14bf5..60be42f 100644 --- a/src/Data/Array/Nested/Mixed/Shape.hs +++ b/src/Data/Array/Nested/Mixed/Shape.hs @@ -172,7 +172,7 @@ listxZipWith f (i ::% is) (j ::% js) =  -- * Mixed indices --- | This is a newtype over 'ListX'. +-- | An index into a mixed-typed array.  type role IxX nominal representational  type IxX :: [Maybe Nat] -> Type -> Type  newtype IxX sh i = IxX (ListX sh (Const i)) @@ -191,6 +191,8 @@ infixr 3 :.%  {-# COMPLETE ZIX, (:.%) #-} +-- For convenience, this contains regular 'Int's instead of bounded integers +-- (traditionally called \"@Fin@\").  type IIxX sh = IxX sh Int  #ifdef OXAR_DEFAULT_SHOW_INSTANCES diff --git a/src/Data/Array/Nested/Ranked/Shape.hs b/src/Data/Array/Nested/Ranked/Shape.hs index 326bf61..3edebf6 100644 --- a/src/Data/Array/Nested/Ranked/Shape.hs +++ b/src/Data/Array/Nested/Ranked/Shape.hs @@ -43,6 +43,8 @@ import Data.Array.Nested.Lemmas  import Data.Array.Nested.Types +-- * Ranked lists +  type role ListR nominal representational  type ListR :: Nat -> Type -> Type  data ListR n i where @@ -171,6 +173,8 @@ listrPermutePrefix = \perm sh ->            GTI -> error "listrPermutePrefix: Index in permutation out of range" +-- * Ranked indices +  -- | An index into a rank-typed array.  type role IxR nominal representational  type IxR :: Nat -> Type -> Type @@ -191,6 +195,8 @@ infixr 3 :.:  {-# COMPLETE ZIR, (:.:) #-} +-- For convenience, this contains regular 'Int's instead of bounded integers +-- (traditionally called \"@Fin@\").  type IIxR n = IxR n Int  #ifdef OXAR_DEFAULT_SHOW_INSTANCES @@ -237,6 +243,8 @@ ixrPermutePrefix :: forall n i. [Int] -> IxR n i -> IxR n i  ixrPermutePrefix = coerce (listrPermutePrefix @i) +-- * Ranked shapes +  type role ShR nominal representational  type ShR :: Nat -> Type -> Type  newtype ShR n i = ShR (ListR n i) diff --git a/src/Data/Array/Nested/Shaped/Shape.hs b/src/Data/Array/Nested/Shaped/Shape.hs index fbfc7f5..20a7a7a 100644 --- a/src/Data/Array/Nested/Shaped/Shape.hs +++ b/src/Data/Array/Nested/Shaped/Shape.hs @@ -48,6 +48,8 @@ import Data.Array.Nested.Permutation  import Data.Array.Nested.Types +-- * Shaped lists +  type role ListS nominal representational  type ListS :: [Nat] -> (Nat -> Type) -> Type  data ListS sh f where @@ -180,11 +182,9 @@ listsIndex _ _ _ ZS = error "Index into empty shape"  listsPermutePrefix :: forall f is sh. Perm is -> ListS sh f -> ListS (PermutePrefix is sh) f  listsPermutePrefix perm sh = listsAppend (listsPermute perm (listsTakeLenPerm perm sh)) (listsDropLenPerm perm sh) +-- * Shaped indices  -- | An index into a shape-typed array. --- --- For convenience, this contains regular 'Int's instead of bounded integers --- (traditionally called \"@Fin@\").  type role IxS nominal representational  type IxS :: [Nat] -> Type -> Type  newtype IxS sh i = IxS (ListS sh (Const i)) @@ -203,6 +203,8 @@ infixr 3 :.$  {-# COMPLETE ZIS, (:.$) #-} +-- For convenience, this contains regular 'Int's instead of bounded integers +-- (traditionally called \"@Fin@\").  type IIxS sh = IxS sh Int  #ifdef OXAR_DEFAULT_SHOW_INSTANCES @@ -257,6 +259,8 @@ ixsPermutePrefix :: forall i is sh. Perm is -> IxS sh i -> IxS (PermutePrefix is  ixsPermutePrefix = coerce (listsPermutePrefix @(Const i)) +-- * Shaped shapes +  -- | The shape of a shape-typed array given as a list of 'SNat' values.  --  -- Note that because the shape of a shape-typed array is known statically, you | 
