diff options
author | Oleg Grenrus <oleg.grenrus@iki.fi> | 2022-12-12 18:21:08 +0200 |
---|---|---|
committer | Oleg Grenrus <oleg.grenrus@iki.fi> | 2023-03-04 01:13:55 +0200 |
commit | 858f34d5270936ff565880ed3ff244a0ab5f3987 (patch) | |
tree | bcc9366a47e52f770bec59086b952fc35fa32177 /testsuite/tests | |
parent | bd0536afee5d5f91d99af2ab193b6eee5b1da07a (diff) | |
download | haskell-858f34d5270936ff565880ed3ff244a0ab5f3987.tar.gz |
Add decideSymbol, decideChar, decideNat, decTypeRep, decT and hdecT
These all type-level equality decision procedures.
Implementes a CLC proposal https://github.com/haskell/core-libraries-committee/issues/98
Diffstat (limited to 'testsuite/tests')
-rw-r--r-- | testsuite/tests/ghci/scripts/T9181.stdout | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/testsuite/tests/ghci/scripts/T9181.stdout b/testsuite/tests/ghci/scripts/T9181.stdout index 356d047a81..cdbd8e9351 100644 --- a/testsuite/tests/ghci/scripts/T9181.stdout +++ b/testsuite/tests/ghci/scripts/T9181.stdout @@ -48,6 +48,20 @@ GHC.TypeLits.cmpChar :: GHC.TypeLits.cmpSymbol :: (GHC.TypeLits.KnownSymbol a, GHC.TypeLits.KnownSymbol b) => proxy1 a -> proxy2 b -> Data.Type.Ord.OrderingI a b +GHC.TypeLits.decideChar :: + (GHC.TypeLits.KnownChar a, GHC.TypeLits.KnownChar b) => + proxy1 a + -> proxy2 b + -> Either + ((a Data.Type.Equality.:~: b) -> GHC.Base.Void) + (a Data.Type.Equality.:~: b) +GHC.TypeLits.decideSymbol :: + (GHC.TypeLits.KnownSymbol a, GHC.TypeLits.KnownSymbol b) => + proxy1 a + -> proxy2 b + -> Either + ((a Data.Type.Equality.:~: b) -> GHC.Base.Void) + (a Data.Type.Equality.:~: b) GHC.TypeLits.fromSChar :: GHC.TypeLits.SChar c -> Char GHC.TypeLits.fromSNat :: GHC.TypeNats.SNat n -> Integer GHC.TypeLits.fromSSymbol :: GHC.TypeLits.SSymbol s -> String @@ -172,6 +186,13 @@ type family (GHC.TypeNats.^) a b GHC.TypeNats.cmpNat :: (GHC.TypeNats.KnownNat a, GHC.TypeNats.KnownNat b) => proxy1 a -> proxy2 b -> Data.Type.Ord.OrderingI a b +GHC.TypeNats.decideNat :: + (GHC.TypeNats.KnownNat a, GHC.TypeNats.KnownNat b) => + proxy1 a + -> proxy2 b + -> Either + ((a Data.Type.Equality.:~: b) -> GHC.Base.Void) + (a Data.Type.Equality.:~: b) GHC.TypeNats.sameNat :: (GHC.TypeNats.KnownNat a, GHC.TypeNats.KnownNat b) => proxy1 a -> proxy2 b -> Maybe (a Data.Type.Equality.:~: b) |