diff options
author | Tom Smeding <tom@tomsmeding.com> | 2025-10-02 14:07:53 +0200 |
---|---|---|
committer | Tom Smeding <tom@tomsmeding.com> | 2025-10-02 14:07:53 +0200 |
commit | ef72e54cf6bcee7124058364fea15b4d1bd62cd7 (patch) | |
tree | 90981bbae6b4be2cc075c65c792a560c44b3b05b /src/Data/Array/Nested/Permutation.hs | |
parent | 22a3d9c5cbafb7a633f2f802af884d042718e78d (diff) |
Compatibility with GHC 9.6
Diffstat (limited to 'src/Data/Array/Nested/Permutation.hs')
-rw-r--r-- | src/Data/Array/Nested/Permutation.hs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/Data/Array/Nested/Permutation.hs b/src/Data/Array/Nested/Permutation.hs index 1eb7be1..1a0fd22 100644 --- a/src/Data/Array/Nested/Permutation.hs +++ b/src/Data/Array/Nested/Permutation.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP #-} {-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE GADTs #-} @@ -209,7 +210,7 @@ ssxPermute :: Perm is -> StaticShX sh -> StaticShX (Permute is sh) ssxPermute = coerce (listxPermute @(SMayNat () SNat)) ssxIndex :: Proxy is -> Proxy shT -> SNat i -> StaticShX sh -> SMayNat () SNat (Index i sh) -ssxIndex p1 p2 = coerce (listxIndex @(SMayNat () SNat) p1 p2) +ssxIndex p1 p2 i = coerce (listxIndex @(SMayNat () SNat) p1 p2 i) ssxPermutePrefix :: Perm is -> StaticShX sh -> StaticShX (PermutePrefix is sh) ssxPermutePrefix = coerce (listxPermutePrefix @(SMayNat () SNat)) @@ -274,7 +275,13 @@ lemRankPermute p (_ `PCons` is) | Refl <- lemRankPermute p is = Refl lemRankDropLen :: forall is sh. (Rank is <= Rank sh) => StaticShX sh -> Perm is -> Rank (DropLen is sh) :~: Rank sh - Rank is lemRankDropLen ZKX PNil = Refl -lemRankDropLen (_ :!% sh) (_ `PCons` is) | Refl <- lemRankDropLen sh is = Refl +lemRankDropLen (_ :!% sh) (_ `PCons` is) + | Refl <- lemRankDropLen sh is +#if MIN_VERSION_GLASGOW_HASKELL(9,8,0,0) + = Refl +#else + = unsafeCoerceRefl +#endif lemRankDropLen (_ :!% _) PNil = Refl lemIndexSucc :: Proxy i -> Proxy a -> Proxy l |