From b22366401ee4bfead4ba6789937acdb7274d175c Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Sun, 19 May 2024 11:57:48 +0200 Subject: SNat has COMPLETE in ghc 9.8 --- src/Data/Array/Mixed.hs | 8 +------- src/Data/Array/Nested/Internal.hs | 4 ++-- 2 files changed, 3 insertions(+), 9 deletions(-) (limited to 'src/Data') diff --git a/src/Data/Array/Mixed.hs b/src/Data/Array/Mixed.hs index 94e161f..31a4e69 100644 --- a/src/Data/Array/Mixed.hs +++ b/src/Data/Array/Mixed.hs @@ -46,12 +46,6 @@ import Unsafe.Coerce (unsafeCoerce) data Dict c a where Dict :: c a => Dict c a --- | The 'SNat' pattern synonym is complete, but it doesn't have a --- @COMPLETE@ pragma. This copy of it does. -pattern GHC_SNat :: () => KnownNat n => SNat n -pattern GHC_SNat = SNat -{-# COMPLETE GHC_SNat #-} - fromSNat' :: SNat n -> Int fromSNat' = fromIntegral . fromSNat @@ -669,7 +663,7 @@ fromList1 :: forall n sh a. Storable a fromList1 ssh l | Dict <- lemKnownNatRankSSX ssh = case ssh of - SKnown m@GHC_SNat :!% _ | natVal m /= fromIntegral (length l) -> + SKnown m@SNat :!% _ | natVal m /= fromIntegral (length l) -> error $ "Data.Array.Mixed.fromList: length of list (" ++ show (length l) ++ ")" ++ "does not match the type (" ++ show (natVal m) ++ ")" _ -> XArray (S.ravel (ORB.fromList [length l] (coerce @[XArray sh a] @[S.Array (Rank sh) a] l))) diff --git a/src/Data/Array/Nested/Internal.hs b/src/Data/Array/Nested/Internal.hs index 182e099..8777960 100644 --- a/src/Data/Array/Nested/Internal.hs +++ b/src/Data/Array/Nested/Internal.hs @@ -153,7 +153,7 @@ knownNatSucc = Dict lemKnownShX :: StaticShX sh -> Dict KnownShX sh lemKnownShX ZKX = Dict -lemKnownShX (SKnown GHC_SNat :!% ssh) | Dict <- lemKnownShX ssh = Dict +lemKnownShX (SKnown SNat :!% ssh) | Dict <- lemKnownShX ssh = Dict lemKnownShX (SUnknown () :!% ssh) | Dict <- lemKnownShX ssh = Dict ssxFromSNat :: SNat n -> StaticShX (Replicate n Nothing) @@ -1011,7 +1011,7 @@ instance (KnownNat n, KnownElt a) => KnownElt (Ranked n a) where -- sshapeKnown :: ShS sh -> Dict KnownShape sh -- sshapeKnown ZSS = Dict --- sshapeKnown (GHC_SNat :$$ sh) | Dict <- sshapeKnown sh = Dict +-- sshapeKnown (SNat :$$ sh) | Dict <- sshapeKnown sh = Dict lemCommMapJustApp :: forall sh1 sh2. ShS sh1 -> Proxy sh2 -> MapJust (sh1 ++ sh2) :~: MapJust sh1 ++ MapJust sh2 -- cgit v1.2.3-70-g09d2