diff options
author | Tom Smeding <tom@tomsmeding.com> | 2025-06-03 22:30:36 +0200 |
---|---|---|
committer | Tom Smeding <tom@tomsmeding.com> | 2025-06-03 22:32:59 +0200 |
commit | 8bc791a6b5a725e1fa3699a2c260eacb51a4e5fa (patch) | |
tree | 86187b6a1f6d408475d8ecf7637c7c5638740009 /src/Data/Array | |
parent | 7feaa162828e1ba1e6b73db7833ab94440eeb06b (diff) |
Add ssxDropSSX and ssxDropSh, analogous to the shx* versions
Diffstat (limited to 'src/Data/Array')
-rw-r--r-- | src/Data/Array/Nested/Mixed/Shape.hs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/Data/Array/Nested/Mixed/Shape.hs b/src/Data/Array/Nested/Mixed/Shape.hs index 2f35ff9..bf14bf5 100644 --- a/src/Data/Array/Nested/Mixed/Shape.hs +++ b/src/Data/Array/Nested/Mixed/Shape.hs @@ -537,9 +537,15 @@ ssxHead (StaticShX list) = listxHead list ssxTail :: StaticShX (n : sh) -> StaticShX sh ssxTail (_ :!% ssh) = ssh +ssxDropSSX :: forall sh sh'. StaticShX (sh ++ sh') -> StaticShX sh -> StaticShX sh' +ssxDropSSX = coerce (listxDrop @(SMayNat () SNat) @(SMayNat () SNat)) + ssxDropIx :: forall sh sh' i. StaticShX (sh ++ sh') -> IxX sh i -> StaticShX sh' ssxDropIx = coerce (listxDrop @(SMayNat () SNat) @(Const i)) +ssxDropSh :: forall sh sh' i. StaticShX (sh ++ sh') -> ShX sh i -> StaticShX sh' +ssxDropSh = coerce (listxDrop @(SMayNat () SNat) @(SMayNat i SNat)) + ssxInit :: forall n sh. StaticShX (n : sh) -> StaticShX (Init (n : sh)) ssxInit = coerce (listxInit @(SMayNat () SNat)) |