singletons-base 3.5 → 3.5.1
raw patch · 70 files changed
+184/−214 lines, 70 filesdep ~basedep ~singletons-thdep ~template-haskell
Dependency ranges changed: base, singletons-th, template-haskell, th-desugar
Files
- CHANGES.md +4/−0
- README.md +1/−1
- singletons-base.cabal +10/−11
- src/Control/Applicative/Singletons.hs +0/−1
- src/Control/Monad/Fail/Singletons.hs +0/−1
- src/Control/Monad/Singletons.hs +0/−1
- src/Control/Monad/Singletons/Internal.hs +0/−1
- src/Control/Monad/Zip/Singletons.hs +0/−1
- src/Data/Bool/Singletons.hs +0/−1
- src/Data/Either/Singletons.hs +0/−1
- src/Data/Eq/Singletons.hs +0/−1
- src/Data/Foldable/Singletons.hs +0/−1
- src/Data/Function/Singletons.hs +0/−1
- src/Data/Functor/Compose/Singletons.hs +0/−1
- src/Data/Functor/Const/Singletons.hs +0/−1
- src/Data/Functor/Identity/Singletons.hs +0/−1
- src/Data/Functor/Product/Singletons.hs +0/−1
- src/Data/Functor/Singletons.hs +0/−1
- src/Data/Functor/Sum/Singletons.hs +0/−1
- src/Data/List/NonEmpty/Singletons.hs +0/−1
- src/Data/List/Singletons.hs +0/−2
- src/Data/List/Singletons/Internal.hs +0/−1
- src/Data/List/Singletons/Internal/Disambiguation.hs +0/−1
- src/Data/Maybe/Singletons.hs +0/−1
- src/Data/Monoid/Singletons.hs +0/−1
- src/Data/Ord/Singletons.hs +0/−1
- src/Data/Ord/Singletons/Disambiguation.hs +0/−1
- src/Data/Proxy/Singletons.hs +0/−1
- src/Data/Semigroup/Singletons.hs +0/−1
- src/Data/Semigroup/Singletons/Internal/Classes.hs +0/−1
- src/Data/Semigroup/Singletons/Internal/Disambiguation.hs +0/−1
- src/Data/Semigroup/Singletons/Internal/Wrappers.hs +0/−1
- src/Data/Singletons/Base/Enum.hs +0/−1
- src/Data/Singletons/Base/Instances.hs +0/−1
- src/Data/Singletons/Base/PolyError.hs +0/−1
- src/Data/Singletons/Base/SomeSing.hs +0/−2
- src/Data/Singletons/Base/TH.hs +0/−2
- src/Data/Singletons/Base/TypeError.hs +0/−1
- src/Data/String/Singletons.hs +0/−1
- src/Data/Traversable/Singletons.hs +0/−1
- src/Data/Tuple/Singletons.hs +0/−1
- src/Data/Void/Singletons.hs +0/−1
- src/GHC/Base/Singletons.hs +0/−1
- src/GHC/Num/Singletons.hs +0/−1
- src/GHC/TypeLits/Singletons.hs +3/−4
- src/GHC/TypeLits/Singletons/Internal.hs +3/−4
- src/Prelude/Singletons.hs +0/−1
- src/Text/Show/Singletons.hs +0/−1
- tests/SingletonsBaseTestSuiteUtils.hs +1/−5
- tests/compile-and-dump/GradingClient/Database.golden +4/−4
- tests/compile-and-dump/Singletons/Classes.golden +8/−8
- tests/compile-and-dump/Singletons/DataValues.golden +3/−3
- tests/compile-and-dump/Singletons/EmptyShowDeriving.golden +8/−6
- tests/compile-and-dump/Singletons/EnumDeriving.golden +26/−23
- tests/compile-and-dump/Singletons/Maybe.golden +6/−5
- tests/compile-and-dump/Singletons/Nat.golden +5/−3
- tests/compile-and-dump/Singletons/PatternMatching.golden +3/−3
- tests/compile-and-dump/Singletons/ShowDeriving.golden +10/−10
- tests/compile-and-dump/Singletons/StandaloneDeriving.golden +17/−15
- tests/compile-and-dump/Singletons/Star.golden +2/−2
- tests/compile-and-dump/Singletons/T136.golden +13/−13
- tests/compile-and-dump/Singletons/T190.golden +14/−10
- tests/compile-and-dump/Singletons/T204.golden +2/−2
- tests/compile-and-dump/Singletons/T209.hs +0/−1
- tests/compile-and-dump/Singletons/T313.golden +4/−4
- tests/compile-and-dump/Singletons/T358.golden +4/−4
- tests/compile-and-dump/Singletons/T371.golden +14/−10
- tests/compile-and-dump/Singletons/T555.golden +2/−2
- tests/compile-and-dump/Singletons/T581.golden +8/−8
- tests/compile-and-dump/Singletons/T89.golden +9/−7
CHANGES.md view
@@ -1,6 +1,10 @@ Changelog for the `singletons-base` project =========================================== +3.5.1 [2026.01.10]+------------------+* Require building with GHC 9.14.+ 3.5 [2024.12.11] ---------------- * Require building with GHC 9.12.
README.md view
@@ -18,7 +18,7 @@ `singletons-base` uses code that relies on bleeding-edge GHC language extensions. As such, `singletons-base` only supports the latest major version-of GHC (currently GHC 9.12). For more information,+of GHC (currently GHC 9.14). For more information, consult the `singletons` [`README`](https://github.com/goldfirere/singletons/blob/master/README.md).
singletons-base.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.8 name: singletons-base-version: 3.5+version: 3.5.1 synopsis: A promoted and singled version of the base library homepage: http://www.github.com/goldfirere/singletons category: Dependent Types@@ -8,7 +8,7 @@ maintainer: Ryan Scott <ryan.gl.scott@gmail.com> bug-reports: https://github.com/goldfirere/singletons/issues stability: experimental-tested-with: GHC == 9.12.1+tested-with: GHC == 9.14.1 extra-doc-files: CHANGES.md extra-source-files: README.md tests/README.md@@ -40,7 +40,7 @@ . @singletons-base@ uses code that relies on bleeding-edge GHC language extensions. As such, @singletons-base@ only supports the latest major version- of GHC (currently GHC 9.12). For more information,+ of GHC (currently GHC 9.14). For more information, consult the @singletons@ @<https://github.com/goldfirere/singletons/blob/master/README.md README>@. .@@ -67,14 +67,13 @@ library hs-source-dirs: src- build-depends: base >= 4.21 && < 4.22,+ build-depends: base >= 4.22 && < 4.23, pretty, singletons == 3.0.*,- singletons-th >= 3.5 && < 3.6,- template-haskell >= 2.23 && < 2.24,- text >= 1.2,- th-desugar >= 1.18 && < 1.19- default-language: GHC2021+ singletons-th >= 3.5.1 && < 3.6,+ template-haskell >= 2.24 && < 2.25,+ text >= 1.2+ default-language: GHC2024 other-extensions: TemplateHaskell exposed-modules: Data.Singletons.Base.CustomStar Data.Singletons.Base.Enum@@ -146,11 +145,11 @@ type: exitcode-stdio-1.0 hs-source-dirs: tests ghc-options: -Wall -Wcompat -threaded -with-rtsopts=-maxN16- default-language: GHC2021+ default-language: GHC2024 main-is: SingletonsBaseTestSuite.hs other-modules: SingletonsBaseTestSuiteUtils - build-depends: base >= 4.21 && < 4.22,+ build-depends: base >= 4.22 && < 4.23, bytestring >= 0.10.9, deepseq >= 1.4.4, filepath >= 1.3,
src/Control/Applicative/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Control/Monad/Fail/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Control/Monad/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Control/Monad/Singletons/Internal.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-}
src/Control/Monad/Zip/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Bool/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Either/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Eq/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Foldable/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-}
src/Data/Function/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Functor/Compose/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Functor/Const/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Functor/Identity/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Functor/Product/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Functor/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Functor/Sum/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/List/NonEmpty/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/List/Singletons.hs view
@@ -1,5 +1,3 @@-{-# LANGUAGE ExplicitNamespaces #-}- ----------------------------------------------------------------------------- -- | -- Module : Data.List.Singletons
src/Data/List/Singletons/Internal.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/List/Singletons/Internal/Disambiguation.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Maybe/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Monoid/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-}
src/Data/Ord/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Ord/Singletons/Disambiguation.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Proxy/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Semigroup/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Semigroup/Singletons/Internal/Classes.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Semigroup/Singletons/Internal/Disambiguation.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Semigroup/Singletons/Internal/Wrappers.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Singletons/Base/Enum.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Singletons/Base/Instances.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Singletons/Base/PolyError.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Singletons/Base/SomeSing.hs view
@@ -1,5 +1,3 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE GADTs #-} {-# OPTIONS_GHC -Wno-orphans #-} -----------------------------------------------------------------------------
src/Data/Singletons/Base/TH.hs view
@@ -1,5 +1,3 @@-{-# LANGUAGE ExplicitNamespaces #-}- ----------------------------------------------------------------------------- -- | -- Module : Data.Singletons.Base.TH
src/Data/Singletons/Base/TypeError.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/String/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Traversable/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-}
src/Data/Tuple/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Void/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/GHC/Base/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/GHC/Num/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE NoStarIsType #-} {-# LANGUAGE TemplateHaskell #-}
src/GHC/TypeLits/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-}@@ -22,9 +21,9 @@ module GHC.TypeLits.Singletons ( Natural, Symbol, Char, Sing,- SNat, pattern SNat,- SSymbol, pattern SSymbol, pattern SSym,- SChar, pattern SChar,+ SNat, data SNat,+ SSymbol, data SSymbol, data SSym,+ SChar, data SChar, withKnownNat, withKnownSymbol, withKnownChar, Error, sError, ErrorWithoutStackTrace, sErrorWithoutStackTrace,
src/GHC/TypeLits/Singletons/Internal.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}@@ -25,9 +24,9 @@ Sing, Natural, TL.Symbol, Char,- TN.SNat, pattern TN.SNat,- TL.SSymbol, pattern TL.SSymbol, pattern SSym,- TL.SChar, pattern TL.SChar,+ TN.SNat, data TN.SNat,+ TL.SSymbol, data TL.SSymbol, data SSym,+ TL.SChar, data TL.SChar, TN.withKnownNat, TL.withKnownSymbol, TL.withKnownChar, Error, sError, ErrorWithoutStackTrace, sErrorWithoutStackTrace,
src/Prelude/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE ExplicitNamespaces #-} {-# LANGUAGE NoStarIsType #-} -----------------------------------------------------------------------------
src/Text/Show/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
tests/SingletonsBaseTestSuiteUtils.hs view
@@ -1,5 +1,4 @@ {-# LANGUAGE DeriveAnyClass #-}-{-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE OverloadedStrings #-} module SingletonsBaseTestSuiteUtils (@@ -47,14 +46,11 @@ , "-fprint-explicit-kinds" , "-O0" , "-i" ++ goldenPath- , "-XGHC2021"+ , "-XGHC2024" , "-XTemplateHaskell"- , "-XDataKinds" , "-XTypeFamilies"- , "-XGADTs" , "-XUndecidableInstances" , "-XIncoherentInstances"- , "-XLambdaCase" , "-XUnboxedTuples" , "-XDefaultSignatures" , "-XCPP"
tests/compile-and-dump/GradingClient/Database.golden view
@@ -501,18 +501,18 @@ TFHelper_0123456789876543210 (VEC a_0123456789876543210 a_0123456789876543210) (VEC b_0123456789876543210 b_0123456789876543210) = Apply (Apply (&&@#@$) (Apply (Apply (==@#@$) a_0123456789876543210) b_0123456789876543210)) (Apply (Apply (==@#@$) a_0123456789876543210) b_0123456789876543210) instance PEq U where type (==) a a = TFHelper_0123456789876543210 a a- type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural+ type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural -> U -> Symbol -> Symbol- type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: U) (a :: Symbol) :: Symbol where+ type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: U) (a :: Symbol) :: Symbol where ShowsPrec_0123456789876543210 _ BOOL a_0123456789876543210 = Apply (Apply ShowStringSym0 "BOOL") a_0123456789876543210 ShowsPrec_0123456789876543210 _ STRING a_0123456789876543210 = Apply (Apply ShowStringSym0 "STRING") a_0123456789876543210 ShowsPrec_0123456789876543210 _ NAT a_0123456789876543210 = Apply (Apply ShowStringSym0 "NAT") a_0123456789876543210 ShowsPrec_0123456789876543210 p_0123456789876543210 (VEC arg_0123456789876543210 arg_0123456789876543210) a_0123456789876543210 = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "VEC ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210 instance PShow U where type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a- type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural+ type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural -> AChar -> Symbol -> Symbol- type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: AChar) (a :: Symbol) :: Symbol where+ type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: AChar) (a :: Symbol) :: Symbol where ShowsPrec_0123456789876543210 _ CA a_0123456789876543210 = Apply (Apply ShowStringSym0 "CA") a_0123456789876543210 ShowsPrec_0123456789876543210 _ CB a_0123456789876543210 = Apply (Apply ShowStringSym0 "CB") a_0123456789876543210 ShowsPrec_0123456789876543210 _ CC a_0123456789876543210 = Apply (Apply ShowStringSym0 "CC") a_0123456789876543210
tests/compile-and-dump/Singletons/Classes.golden view
@@ -16,20 +16,20 @@ data Foo = A | B data Foo2 = F | G + instance Eq Foo2 where+ F == F = True+ G == G = True+ F == G = False+ G == F = False+ instance MyOrd Foo where+ mycompare = fooCompare instance MyOrd () where mycompare _ = const EQ instance MyOrd Nat where Zero `mycompare` Zero = EQ Zero `mycompare` (Succ _) = LT (Succ _) `mycompare` Zero = GT- (Succ n) `mycompare` (Succ m) = m `mycompare` n- instance MyOrd Foo where- mycompare = fooCompare- instance Eq Foo2 where- F == F = True- G == G = True- F == G = False- G == F = False |]+ (Succ n) `mycompare` (Succ m) = m `mycompare` n |] ======> const :: a -> b -> a const x _ = x
tests/compile-and-dump/Singletons/DataValues.golden view
@@ -52,10 +52,10 @@ type family Pr where Pr = Apply (Apply PairSym0 (Apply SuccSym0 ZeroSym0)) (Apply (Apply (:@#@$) ZeroSym0) NilSym0) type ShowsPrec_0123456789876543210 :: forall a- b. GHC.Num.Natural.Natural+ b. GHC.Internal.Bignum.Natural.Natural -> Pair a b -> Symbol -> Symbol- type family ShowsPrec_0123456789876543210 @a @b (a :: GHC.Num.Natural.Natural) (a :: Pair a b) (a :: Symbol) :: Symbol where- ShowsPrec_0123456789876543210 @a @b (p_0123456789876543210 :: GHC.Num.Natural.Natural) (Pair arg_0123456789876543210 arg_0123456789876543210 :: Pair a b) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "Pair ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210+ type family ShowsPrec_0123456789876543210 @a @b (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Pair a b) (a :: Symbol) :: Symbol where+ ShowsPrec_0123456789876543210 @a @b (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) (Pair arg_0123456789876543210 arg_0123456789876543210 :: Pair a b) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "Pair ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210 instance PShow (Pair a b) where type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a sAList :: Sing @_ AList
tests/compile-and-dump/Singletons/EmptyShowDeriving.golden view
@@ -6,8 +6,8 @@ ======> data Foo deriving instance Show Foo- type family LamCases_0123456789876543210 (v_01234567898765432100123456789876543210 :: Foo) (a_01234567898765432100123456789876543210 :: GHC.Types.Symbol) a_0123456789876543210 where- data LamCases_0123456789876543210Sym0 (v_01234567898765432100123456789876543210 :: Foo) (a_01234567898765432100123456789876543210 :: GHC.Types.Symbol) a_01234567898765432100123456789876543210+ type family LamCases_0123456789876543210 (v_01234567898765432100123456789876543210 :: Foo) (a_01234567898765432100123456789876543210 :: GHC.Internal.Types.Symbol) a_0123456789876543210 where+ data LamCases_0123456789876543210Sym0 (v_01234567898765432100123456789876543210 :: Foo) (a_01234567898765432100123456789876543210 :: GHC.Internal.Types.Symbol) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 v_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210) arg) (LamCases_0123456789876543210Sym1 v_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 arg) => LamCases_0123456789876543210Sym0 v_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210@@ -15,11 +15,13 @@ instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 v_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210) where suppressUnusedWarnings = snd ((,) LamCases_0123456789876543210Sym0KindInference ())- type family LamCases_0123456789876543210Sym1 (v_01234567898765432100123456789876543210 :: Foo) (a_01234567898765432100123456789876543210 :: GHC.Types.Symbol) a_01234567898765432100123456789876543210 where+ type family LamCases_0123456789876543210Sym1 (v_01234567898765432100123456789876543210 :: Foo) (a_01234567898765432100123456789876543210 :: GHC.Internal.Types.Symbol) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym1 v_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 v_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210- type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural- -> Foo -> GHC.Types.Symbol -> GHC.Types.Symbol- type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: Foo) (a :: GHC.Types.Symbol) :: GHC.Types.Symbol where+ type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural+ -> Foo+ -> GHC.Internal.Types.Symbol+ -> GHC.Internal.Types.Symbol+ type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Foo) (a :: GHC.Internal.Types.Symbol) :: GHC.Internal.Types.Symbol where ShowsPrec_0123456789876543210 _ v_0123456789876543210 a_0123456789876543210 = Apply (Apply (LamCases_0123456789876543210Sym0 v_0123456789876543210 a_0123456789876543210) v_0123456789876543210) a_0123456789876543210 instance PShow Foo where type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a
tests/compile-and-dump/Singletons/EnumDeriving.golden view
@@ -24,10 +24,10 @@ type Q2Sym0 :: Quux type family Q2Sym0 :: Quux where Q2Sym0 = Q2- type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+ type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where LamCases_0123456789876543210 n 'True = BumSym0 LamCases_0123456789876543210 n 'False = Apply ErrorSym0 "toEnum: bad argument"- data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+ data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 n0123456789876543210) arg) (LamCases_0123456789876543210Sym1 n0123456789876543210 arg) => LamCases_0123456789876543210Sym0 n0123456789876543210 a_01234567898765432100123456789876543210@@ -35,12 +35,12 @@ instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 n0123456789876543210) where suppressUnusedWarnings = snd ((,) LamCases_0123456789876543210Sym0KindInference ())- type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+ type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym1 n0123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 n0123456789876543210 a_01234567898765432100123456789876543210- type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+ type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where LamCases_0123456789876543210 n 'True = BazSym0 LamCases_0123456789876543210 n 'False = Apply (LamCases_0123456789876543210Sym0 n) (Apply (Apply (==@#@$) n) (FromInteger 2))- data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+ data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 n0123456789876543210) arg) (LamCases_0123456789876543210Sym1 n0123456789876543210 arg) => LamCases_0123456789876543210Sym0 n0123456789876543210 a_01234567898765432100123456789876543210@@ -48,12 +48,12 @@ instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 n0123456789876543210) where suppressUnusedWarnings = snd ((,) LamCases_0123456789876543210Sym0KindInference ())- type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+ type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym1 n0123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 n0123456789876543210 a_01234567898765432100123456789876543210- type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+ type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where LamCases_0123456789876543210 n 'True = BarSym0 LamCases_0123456789876543210 n 'False = Apply (LamCases_0123456789876543210Sym0 n) (Apply (Apply (==@#@$) n) (FromInteger 1))- data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+ data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 n0123456789876543210) arg) (LamCases_0123456789876543210Sym1 n0123456789876543210 arg) => LamCases_0123456789876543210Sym0 n0123456789876543210 a_01234567898765432100123456789876543210@@ -61,13 +61,15 @@ instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 n0123456789876543210) where suppressUnusedWarnings = snd ((,) LamCases_0123456789876543210Sym0KindInference ())- type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+ type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym1 n0123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 n0123456789876543210 a_01234567898765432100123456789876543210- type ToEnum_0123456789876543210 :: GHC.Num.Natural.Natural -> Foo- type family ToEnum_0123456789876543210 (a :: GHC.Num.Natural.Natural) :: Foo where+ type ToEnum_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural+ -> Foo+ type family ToEnum_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) :: Foo where ToEnum_0123456789876543210 n = Apply (LamCases_0123456789876543210Sym0 n) (Apply (Apply (==@#@$) n) (FromInteger 0))- type FromEnum_0123456789876543210 :: Foo -> GHC.Num.Natural.Natural- type family FromEnum_0123456789876543210 (a :: Foo) :: GHC.Num.Natural.Natural where+ type FromEnum_0123456789876543210 :: Foo+ -> GHC.Internal.Bignum.Natural.Natural+ type family FromEnum_0123456789876543210 (a :: Foo) :: GHC.Internal.Bignum.Natural.Natural where FromEnum_0123456789876543210 Bar = FromInteger 0 FromEnum_0123456789876543210 Baz = FromInteger 1 FromEnum_0123456789876543210 Bum = FromInteger 2@@ -147,10 +149,10 @@ Singletons/EnumDeriving.hs:0:0:: Splicing declarations singEnumInstance ''Quux ======>- type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+ type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where LamCases_0123456789876543210 n 'True = Q2Sym0 LamCases_0123456789876543210 n 'False = Apply ErrorSym0 "toEnum: bad argument"- data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+ data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 n0123456789876543210) arg) (LamCases_0123456789876543210Sym1 n0123456789876543210 arg) => LamCases_0123456789876543210Sym0 n0123456789876543210 a_01234567898765432100123456789876543210@@ -158,12 +160,12 @@ instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 n0123456789876543210) where suppressUnusedWarnings = snd ((,) LamCases_0123456789876543210Sym0KindInference ())- type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+ type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym1 n0123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 n0123456789876543210 a_01234567898765432100123456789876543210- type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+ type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where LamCases_0123456789876543210 n 'True = Q1Sym0 LamCases_0123456789876543210 n 'False = Apply (LamCases_0123456789876543210Sym0 n) (Apply (Apply (==@#@$) n) (FromInteger 1))- data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+ data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 n0123456789876543210) arg) (LamCases_0123456789876543210Sym1 n0123456789876543210 arg) => LamCases_0123456789876543210Sym0 n0123456789876543210 a_01234567898765432100123456789876543210@@ -171,14 +173,15 @@ instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 n0123456789876543210) where suppressUnusedWarnings = snd ((,) LamCases_0123456789876543210Sym0KindInference ())- type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+ type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym1 n0123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 n0123456789876543210 a_01234567898765432100123456789876543210- type ToEnum_0123456789876543210 :: GHC.Num.Natural.Natural -> Quux- type family ToEnum_0123456789876543210 (a :: GHC.Num.Natural.Natural) :: Quux where+ type ToEnum_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural+ -> Quux+ type family ToEnum_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) :: Quux where ToEnum_0123456789876543210 n = Apply (LamCases_0123456789876543210Sym0 n) (Apply (Apply (==@#@$) n) (FromInteger 0)) type FromEnum_0123456789876543210 :: Quux- -> GHC.Num.Natural.Natural- type family FromEnum_0123456789876543210 (a :: Quux) :: GHC.Num.Natural.Natural where+ -> GHC.Internal.Bignum.Natural.Natural+ type family FromEnum_0123456789876543210 (a :: Quux) :: GHC.Internal.Bignum.Natural.Natural where FromEnum_0123456789876543210 'Q1 = FromInteger 0 FromEnum_0123456789876543210 'Q2 = FromInteger 1 instance PEnum Quux where
tests/compile-and-dump/Singletons/Maybe.golden view
@@ -30,12 +30,13 @@ TFHelper_0123456789876543210 @a (Just a_0123456789876543210 :: Maybe a) (Just b_0123456789876543210 :: Maybe a) = Apply (Apply (==@#@$) a_0123456789876543210) b_0123456789876543210 instance PEq (Maybe a) where type (==) a a = TFHelper_0123456789876543210 a a- type ShowsPrec_0123456789876543210 :: forall a. GHC.Num.Natural.Natural+ type ShowsPrec_0123456789876543210 :: forall a. GHC.Internal.Bignum.Natural.Natural -> Maybe a- -> GHC.Types.Symbol -> GHC.Types.Symbol- type family ShowsPrec_0123456789876543210 @a (a :: GHC.Num.Natural.Natural) (a :: Maybe a) (a :: GHC.Types.Symbol) :: GHC.Types.Symbol where- ShowsPrec_0123456789876543210 @a (_ :: GHC.Num.Natural.Natural) (Nothing :: Maybe a) (a_0123456789876543210 :: GHC.Types.Symbol) = Apply (Apply ShowStringSym0 "Nothing") a_0123456789876543210- ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Num.Natural.Natural) (Just arg_0123456789876543210 :: Maybe a) (a_0123456789876543210 :: GHC.Types.Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "Just ")) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))) a_0123456789876543210+ -> GHC.Internal.Types.Symbol+ -> GHC.Internal.Types.Symbol+ type family ShowsPrec_0123456789876543210 @a (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Maybe a) (a :: GHC.Internal.Types.Symbol) :: GHC.Internal.Types.Symbol where+ ShowsPrec_0123456789876543210 @a (_ :: GHC.Internal.Bignum.Natural.Natural) (Nothing :: Maybe a) (a_0123456789876543210 :: GHC.Internal.Types.Symbol) = Apply (Apply ShowStringSym0 "Nothing") a_0123456789876543210+ ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) (Just arg_0123456789876543210 :: Maybe a) (a_0123456789876543210 :: GHC.Internal.Types.Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "Just ")) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))) a_0123456789876543210 instance PShow (Maybe a) where type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a data SMaybe :: forall a. Maybe a -> Type
tests/compile-and-dump/Singletons/Nat.golden view
@@ -84,9 +84,11 @@ TFHelper_0123456789876543210 (Succ a_0123456789876543210) (Succ b_0123456789876543210) = Apply (Apply (==@#@$) a_0123456789876543210) b_0123456789876543210 instance PEq Nat where type (==) a a = TFHelper_0123456789876543210 a a- type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural- -> Nat -> GHC.Types.Symbol -> GHC.Types.Symbol- type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: Nat) (a :: GHC.Types.Symbol) :: GHC.Types.Symbol where+ type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural+ -> Nat+ -> GHC.Internal.Types.Symbol+ -> GHC.Internal.Types.Symbol+ type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Nat) (a :: GHC.Internal.Types.Symbol) :: GHC.Internal.Types.Symbol where ShowsPrec_0123456789876543210 _ Zero a_0123456789876543210 = Apply (Apply ShowStringSym0 "Zero") a_0123456789876543210 ShowsPrec_0123456789876543210 p_0123456789876543210 (Succ arg_0123456789876543210) a_0123456789876543210 = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "Succ ")) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))) a_0123456789876543210 instance PShow Nat where
tests/compile-and-dump/Singletons/PatternMatching.golden view
@@ -52,10 +52,10 @@ type family Pr where Pr = Apply (Apply PairSym0 (Apply SuccSym0 ZeroSym0)) (Apply (Apply (:@#@$) ZeroSym0) NilSym0) type ShowsPrec_0123456789876543210 :: forall a- b. GHC.Num.Natural.Natural+ b. GHC.Internal.Bignum.Natural.Natural -> Pair a b -> Symbol -> Symbol- type family ShowsPrec_0123456789876543210 @a @b (a :: GHC.Num.Natural.Natural) (a :: Pair a b) (a :: Symbol) :: Symbol where- ShowsPrec_0123456789876543210 @a @b (p_0123456789876543210 :: GHC.Num.Natural.Natural) (Pair arg_0123456789876543210 arg_0123456789876543210 :: Pair a b) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "Pair ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210+ type family ShowsPrec_0123456789876543210 @a @b (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Pair a b) (a :: Symbol) :: Symbol where+ ShowsPrec_0123456789876543210 @a @b (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) (Pair arg_0123456789876543210 arg_0123456789876543210 :: Pair a b) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "Pair ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210 instance PShow (Pair a b) where type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a sAList :: Sing @_ AList
tests/compile-and-dump/Singletons/ShowDeriving.golden view
@@ -159,24 +159,24 @@ type GetFoo3a :: Foo3 -> Bool type family GetFoo3a (a :: Foo3) :: Bool where GetFoo3a (MkFoo3 field _) = field- type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural+ type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural -> Foo1 -> Symbol -> Symbol- type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: Foo1) (a :: Symbol) :: Symbol where+ type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Foo1) (a :: Symbol) :: Symbol where ShowsPrec_0123456789876543210 _ MkFoo1 a_0123456789876543210 = Apply (Apply ShowStringSym0 "MkFoo1") a_0123456789876543210 instance PShow Foo1 where type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a- type ShowsPrec_0123456789876543210 :: forall a. GHC.Num.Natural.Natural+ type ShowsPrec_0123456789876543210 :: forall a. GHC.Internal.Bignum.Natural.Natural -> Foo2 a -> Symbol -> Symbol- type family ShowsPrec_0123456789876543210 @a (a :: GHC.Num.Natural.Natural) (a :: Foo2 a) (a :: Symbol) :: Symbol where- ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Num.Natural.Natural) (MkFoo2a arg_0123456789876543210 arg_0123456789876543210 :: Foo2 a) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "MkFoo2a ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210- ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Num.Natural.Natural) (MkFoo2b argL_0123456789876543210 argR_0123456789876543210 :: Foo2 a) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 5))) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argL_0123456789876543210)) (Apply (Apply (.@#@$) (Apply ShowStringSym0 " `MkFoo2b` ")) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argR_0123456789876543210)))) a_0123456789876543210- ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Num.Natural.Natural) ((:*:) arg_0123456789876543210 arg_0123456789876543210 :: Foo2 a) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "(:*:) ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210- ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Num.Natural.Natural) ((:&:) argL_0123456789876543210 argR_0123456789876543210 :: Foo2 a) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 5))) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argL_0123456789876543210)) (Apply (Apply (.@#@$) (Apply ShowStringSym0 " :&: ")) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argR_0123456789876543210)))) a_0123456789876543210+ type family ShowsPrec_0123456789876543210 @a (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Foo2 a) (a :: Symbol) :: Symbol where+ ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) (MkFoo2a arg_0123456789876543210 arg_0123456789876543210 :: Foo2 a) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "MkFoo2a ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210+ ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) (MkFoo2b argL_0123456789876543210 argR_0123456789876543210 :: Foo2 a) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 5))) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argL_0123456789876543210)) (Apply (Apply (.@#@$) (Apply ShowStringSym0 " `MkFoo2b` ")) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argR_0123456789876543210)))) a_0123456789876543210+ ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) ((:*:) arg_0123456789876543210 arg_0123456789876543210 :: Foo2 a) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "(:*:) ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210+ ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) ((:&:) argL_0123456789876543210 argR_0123456789876543210 :: Foo2 a) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 5))) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argL_0123456789876543210)) (Apply (Apply (.@#@$) (Apply ShowStringSym0 " :&: ")) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argR_0123456789876543210)))) a_0123456789876543210 instance PShow (Foo2 a) where type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a- type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural+ type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural -> Foo3 -> Symbol -> Symbol- type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: Foo3) (a :: Symbol) :: Symbol where+ type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Foo3) (a :: Symbol) :: Symbol where ShowsPrec_0123456789876543210 p_0123456789876543210 (MkFoo3 arg_0123456789876543210 arg_0123456789876543210) a_0123456789876543210 = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "MkFoo3 ")) (Apply (Apply (.@#@$) (Apply ShowCharSym0 '{')) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "getFoo3a = ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 0)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowCommaSpaceSym0) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "(***) = ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 0)) arg_0123456789876543210)) (Apply ShowCharSym0 '}'))))))))) a_0123456789876543210 instance PShow Foo3 where type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a
tests/compile-and-dump/Singletons/StandaloneDeriving.golden view
@@ -65,10 +65,10 @@ Compare_0123456789876543210 @a ((:*:) a_0123456789876543210 a_0123456789876543210 :: T a ()) ((:*:) b_0123456789876543210 b_0123456789876543210 :: T a ()) = Apply (Apply (Apply FoldlSym0 (<>@#@$)) EQSym0) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) NilSym0)) instance POrd (T a ()) where type Compare a a = Compare_0123456789876543210 a a- type ShowsPrec_0123456789876543210 :: forall a. GHC.Num.Natural.Natural+ type ShowsPrec_0123456789876543210 :: forall a. GHC.Internal.Bignum.Natural.Natural -> T a () -> Symbol -> Symbol- type family ShowsPrec_0123456789876543210 @a (a :: GHC.Num.Natural.Natural) (a :: T a ()) (a :: Symbol) :: Symbol where- ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Num.Natural.Natural) ((:*:) argL_0123456789876543210 argR_0123456789876543210 :: T a ()) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 6))) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 7)) argL_0123456789876543210)) (Apply (Apply (.@#@$) (Apply ShowStringSym0 " :*: ")) (Apply (Apply ShowsPrecSym0 (FromInteger 7)) argR_0123456789876543210)))) a_0123456789876543210+ type family ShowsPrec_0123456789876543210 @a (a :: GHC.Internal.Bignum.Natural.Natural) (a :: T a ()) (a :: Symbol) :: Symbol where+ ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) ((:*:) argL_0123456789876543210 argR_0123456789876543210 :: T a ()) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 6))) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 7)) argL_0123456789876543210)) (Apply (Apply (.@#@$) (Apply ShowStringSym0 " :*: ")) (Apply (Apply ShowsPrecSym0 (FromInteger 7)) argR_0123456789876543210)))) a_0123456789876543210 instance PShow (T a ()) where type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a type TFHelper_0123456789876543210 :: S -> S -> Bool@@ -87,9 +87,9 @@ Compare_0123456789876543210 S2 S1 = GTSym0 instance POrd S where type Compare a a = Compare_0123456789876543210 a a- type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural+ type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural -> S -> Symbol -> Symbol- type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: S) (a :: Symbol) :: Symbol where+ type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: S) (a :: Symbol) :: Symbol where ShowsPrec_0123456789876543210 _ S1 a_0123456789876543210 = Apply (Apply ShowStringSym0 "S1") a_0123456789876543210 ShowsPrec_0123456789876543210 _ S2 a_0123456789876543210 = Apply (Apply ShowStringSym0 "S2") a_0123456789876543210 instance PShow S where@@ -103,10 +103,10 @@ instance PBounded S where type MinBound = MinBound_0123456789876543210 type MaxBound = MaxBound_0123456789876543210- type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+ type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where LamCases_0123456789876543210 n 'True = S2Sym0 LamCases_0123456789876543210 n 'False = Apply ErrorSym0 "toEnum: bad argument"- data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+ data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 n0123456789876543210) arg) (LamCases_0123456789876543210Sym1 n0123456789876543210 arg) => LamCases_0123456789876543210Sym0 n0123456789876543210 a_01234567898765432100123456789876543210@@ -114,12 +114,12 @@ instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 n0123456789876543210) where suppressUnusedWarnings = snd ((,) LamCases_0123456789876543210Sym0KindInference ())- type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+ type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym1 n0123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 n0123456789876543210 a_01234567898765432100123456789876543210- type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+ type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where LamCases_0123456789876543210 n 'True = S1Sym0 LamCases_0123456789876543210 n 'False = Apply (LamCases_0123456789876543210Sym0 n) (Apply (Apply (==@#@$) n) (FromInteger 1))- data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+ data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 n0123456789876543210) arg) (LamCases_0123456789876543210Sym1 n0123456789876543210 arg) => LamCases_0123456789876543210Sym0 n0123456789876543210 a_01234567898765432100123456789876543210@@ -127,13 +127,15 @@ instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 n0123456789876543210) where suppressUnusedWarnings = snd ((,) LamCases_0123456789876543210Sym0KindInference ())- type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+ type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym1 n0123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 n0123456789876543210 a_01234567898765432100123456789876543210- type ToEnum_0123456789876543210 :: GHC.Num.Natural.Natural -> S- type family ToEnum_0123456789876543210 (a :: GHC.Num.Natural.Natural) :: S where+ type ToEnum_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural+ -> S+ type family ToEnum_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) :: S where ToEnum_0123456789876543210 n = Apply (LamCases_0123456789876543210Sym0 n) (Apply (Apply (==@#@$) n) (FromInteger 0))- type FromEnum_0123456789876543210 :: S -> GHC.Num.Natural.Natural- type family FromEnum_0123456789876543210 (a :: S) :: GHC.Num.Natural.Natural where+ type FromEnum_0123456789876543210 :: S+ -> GHC.Internal.Bignum.Natural.Natural+ type family FromEnum_0123456789876543210 (a :: S) :: GHC.Internal.Bignum.Natural.Natural where FromEnum_0123456789876543210 S1 = FromInteger 0 FromEnum_0123456789876543210 S2 = FromInteger 1 instance PEnum S where
tests/compile-and-dump/Singletons/Star.golden view
@@ -106,9 +106,9 @@ Compare_0123456789876543210 (Vec _ _) (Maybe _) = GTSym0 instance POrd Type where type Compare a a = Compare_0123456789876543210 a a- type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural+ type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural -> Type -> Symbol -> Symbol- type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: Type) (a :: Symbol) :: Symbol where+ type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Type) (a :: Symbol) :: Symbol where ShowsPrec_0123456789876543210 _ Nat a_0123456789876543210 = Apply (Apply ShowStringSym0 "Nat") a_0123456789876543210 ShowsPrec_0123456789876543210 _ Int a_0123456789876543210 = Apply (Apply ShowStringSym0 "Int") a_0123456789876543210 ShowsPrec_0123456789876543210 _ String a_0123456789876543210 = Apply (Apply ShowStringSym0 "String") a_0123456789876543210
tests/compile-and-dump/Singletons/T136.golden view
@@ -39,10 +39,10 @@ Pred_0123456789876543210 '[] = Apply ErrorSym0 "pred 0" Pred_0123456789876543210 ('(:) 'False as) = Apply (Apply (:@#@$) TrueSym0) (Apply PredSym0 as) Pred_0123456789876543210 ('(:) 'True as) = Apply (Apply (:@#@$) FalseSym0) as- type family LamCases_0123456789876543210 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+ type family LamCases_0123456789876543210 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where LamCases_0123456789876543210 i arg_0123456789876543210 'True = NilSym0 LamCases_0123456789876543210 i arg_0123456789876543210 'False = Apply SuccSym0 (Apply ToEnumSym0 (Apply PredSym0 i))- data LamCases_0123456789876543210Sym0 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+ data LamCases_0123456789876543210Sym0 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 i0123456789876543210 arg_01234567898765432100123456789876543210) arg) (LamCases_0123456789876543210Sym1 i0123456789876543210 arg_01234567898765432100123456789876543210 arg) => LamCases_0123456789876543210Sym0 i0123456789876543210 arg_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210@@ -50,12 +50,12 @@ instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 i0123456789876543210 arg_01234567898765432100123456789876543210) where suppressUnusedWarnings = snd ((,) LamCases_0123456789876543210Sym0KindInference ())- type family LamCases_0123456789876543210Sym1 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+ type family LamCases_0123456789876543210Sym1 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym1 i0123456789876543210 arg_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 i0123456789876543210 arg_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210- type family LamCases_0123456789876543210 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+ type family LamCases_0123456789876543210 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where LamCases_0123456789876543210 i arg_0123456789876543210 'True = Apply ErrorSym0 "negative toEnum" LamCases_0123456789876543210 i arg_0123456789876543210 'False = Apply (LamCases_0123456789876543210Sym0 i arg_0123456789876543210) (Apply (Apply (==@#@$) i) (FromInteger 0))- data LamCases_0123456789876543210Sym0 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+ data LamCases_0123456789876543210Sym0 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 i0123456789876543210 arg_01234567898765432100123456789876543210) arg) (LamCases_0123456789876543210Sym1 i0123456789876543210 arg_01234567898765432100123456789876543210 arg) => LamCases_0123456789876543210Sym0 i0123456789876543210 arg_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210@@ -63,11 +63,11 @@ instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 i0123456789876543210 arg_01234567898765432100123456789876543210) where suppressUnusedWarnings = snd ((,) LamCases_0123456789876543210Sym0KindInference ())- type family LamCases_0123456789876543210Sym1 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+ type family LamCases_0123456789876543210Sym1 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym1 i0123456789876543210 arg_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 i0123456789876543210 arg_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210- type family LamCases_0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+ type family LamCases_0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where LamCases_0123456789876543210 arg_0123456789876543210 i = Apply (LamCases_0123456789876543210Sym0 i arg_0123456789876543210) (Apply (Apply (<@#@$) i) (FromInteger 0))- data LamCases_0123456789876543210Sym0 (arg_01234567898765432100123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+ data LamCases_0123456789876543210Sym0 (arg_01234567898765432100123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 arg_01234567898765432100123456789876543210) arg) (LamCases_0123456789876543210Sym1 arg_01234567898765432100123456789876543210 arg) => LamCases_0123456789876543210Sym0 arg_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210@@ -75,15 +75,15 @@ instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 arg_01234567898765432100123456789876543210) where suppressUnusedWarnings = snd ((,) LamCases_0123456789876543210Sym0KindInference ())- type family LamCases_0123456789876543210Sym1 (arg_01234567898765432100123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+ type family LamCases_0123456789876543210Sym1 (arg_01234567898765432100123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym1 arg_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 arg_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210- type ToEnum_0123456789876543210 :: GHC.Num.Natural.Natural+ type ToEnum_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural -> [Bool]- type family ToEnum_0123456789876543210 (a :: GHC.Num.Natural.Natural) :: [Bool] where+ type family ToEnum_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) :: [Bool] where ToEnum_0123456789876543210 arg_0123456789876543210 = Apply (LamCases_0123456789876543210Sym0 arg_0123456789876543210) arg_0123456789876543210 type FromEnum_0123456789876543210 :: [Bool]- -> GHC.Num.Natural.Natural- type family FromEnum_0123456789876543210 (a :: [Bool]) :: GHC.Num.Natural.Natural where+ -> GHC.Internal.Bignum.Natural.Natural+ type family FromEnum_0123456789876543210 (a :: [Bool]) :: GHC.Internal.Bignum.Natural.Natural where FromEnum_0123456789876543210 '[] = FromInteger 0 FromEnum_0123456789876543210 ('(:) 'False as) = Apply (Apply (*@#@$) (FromInteger 2)) (Apply FromEnumSym0 as) FromEnum_0123456789876543210 ('(:) 'True as) = Apply (Apply (+@#@$) (FromInteger 1)) (Apply (Apply (*@#@$) (FromInteger 2)) (Apply FromEnumSym0 as))
tests/compile-and-dump/Singletons/T190.golden view
@@ -20,10 +20,10 @@ Compare_0123456789876543210 T T = Apply (Apply (Apply FoldlSym0 (<>@#@$)) EQSym0) NilSym0 instance POrd T where type Compare a a = Compare_0123456789876543210 a a- type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+ type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where LamCases_0123456789876543210 n 'True = TSym0 LamCases_0123456789876543210 n 'False = Apply ErrorSym0 "toEnum: bad argument"- data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+ data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 n0123456789876543210) arg) (LamCases_0123456789876543210Sym1 n0123456789876543210 arg) => LamCases_0123456789876543210Sym0 n0123456789876543210 a_01234567898765432100123456789876543210@@ -31,13 +31,15 @@ instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 n0123456789876543210) where suppressUnusedWarnings = snd ((,) LamCases_0123456789876543210Sym0KindInference ())- type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+ type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym1 n0123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 n0123456789876543210 a_01234567898765432100123456789876543210- type ToEnum_0123456789876543210 :: GHC.Num.Natural.Natural -> T- type family ToEnum_0123456789876543210 (a :: GHC.Num.Natural.Natural) :: T where+ type ToEnum_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural+ -> T+ type family ToEnum_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) :: T where ToEnum_0123456789876543210 n = Apply (LamCases_0123456789876543210Sym0 n) (Apply (Apply (==@#@$) n) (FromInteger 0))- type FromEnum_0123456789876543210 :: T -> GHC.Num.Natural.Natural- type family FromEnum_0123456789876543210 (a :: T) :: GHC.Num.Natural.Natural where+ type FromEnum_0123456789876543210 :: T+ -> GHC.Internal.Bignum.Natural.Natural+ type family FromEnum_0123456789876543210 (a :: T) :: GHC.Internal.Bignum.Natural.Natural where FromEnum_0123456789876543210 T = FromInteger 0 instance PEnum T where type ToEnum a = ToEnum_0123456789876543210 a@@ -51,9 +53,11 @@ instance PBounded T where type MinBound = MinBound_0123456789876543210 type MaxBound = MaxBound_0123456789876543210- type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural- -> T -> GHC.Types.Symbol -> GHC.Types.Symbol- type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: T) (a :: GHC.Types.Symbol) :: GHC.Types.Symbol where+ type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural+ -> T+ -> GHC.Internal.Types.Symbol+ -> GHC.Internal.Types.Symbol+ type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: T) (a :: GHC.Internal.Types.Symbol) :: GHC.Internal.Types.Symbol where ShowsPrec_0123456789876543210 _ T a_0123456789876543210 = Apply (Apply ShowStringSym0 "T") a_0123456789876543210 instance PShow T where type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a
tests/compile-and-dump/Singletons/T204.golden view
@@ -53,7 +53,7 @@ type (:%%@#@$$$) :: forall a. a -> a -> Ratio2 a type family (:%%@#@$$$) @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Ratio2 a where (:%%@#@$$$) a0123456789876543210 a0123456789876543210 = (:%%) a0123456789876543210 a0123456789876543210- data SRatio1 :: forall a. Ratio1 a -> GHC.Types.Type+ data SRatio1 :: forall a. Ratio1 a -> GHC.Internal.Types.Type where (:^%) :: forall a (n :: a) (n :: a). (Sing n) -> (Sing n) -> SRatio1 ((:%) n n :: Ratio1 a)@@ -64,7 +64,7 @@ toSing ((:%) (b :: Demote a) (b :: Demote a)) = (\cases (SomeSing c) (SomeSing c) -> SomeSing ((:^%) c c)) (toSing b :: SomeSing a) (toSing b :: SomeSing a)- data SRatio2 :: forall a. Ratio2 a -> GHC.Types.Type+ data SRatio2 :: forall a. Ratio2 a -> GHC.Internal.Types.Type where (:^%%) :: forall a (n :: a) (n :: a). (Sing n) -> (Sing n) -> SRatio2 ((:%%) n n :: Ratio2 a)
tests/compile-and-dump/Singletons/T209.hs view
@@ -1,5 +1,4 @@ {-# LANGUAGE DeriveAnyClass #-}-{-# LANGUAGE DerivingStrategies #-} module T209 where
tests/compile-and-dump/Singletons/T313.golden view
@@ -8,9 +8,9 @@ type PFoo4 a type PFoo4 a = Maybe a - type instance PFoo2 a = Maybe a instance PC a where- type PFoo4 a = Maybe a |]+ type PFoo4 a = Maybe a+ type instance PFoo2 a = Maybe a |] ======> type PFoo1 a = Maybe a type family PFoo2 a@@ -70,9 +70,9 @@ type SFoo4 a type SFoo4 a = Maybe a - type instance SFoo2 a = Maybe a instance SC a where- type SFoo4 a = Maybe a |]+ type SFoo4 a = Maybe a+ type instance SFoo2 a = Maybe a |] ======> type SFoo1 a = Maybe a type family SFoo2 a
tests/compile-and-dump/Singletons/T358.golden view
@@ -5,13 +5,13 @@ class C2 a where method2a, method2b :: forall b. b -> a - instance C1 [] where- method1 :: [a]- method1 = [] instance C2 [a] where method2a _ = [] method2b :: forall b. b -> [a]- method2b _ = [] |]+ method2b _ = []+ instance C1 [] where+ method1 :: [a]+ method1 = [] |] ======> class C1 (f :: k -> Type) where method1 :: f a
tests/compile-and-dump/Singletons/T371.golden view
@@ -41,18 +41,22 @@ type Y2Sym1 :: forall (a :: Type). X a -> Y a type family Y2Sym1 @(a :: Type) (a0123456789876543210 :: X a) :: Y a where Y2Sym1 a0123456789876543210 = Y2 a0123456789876543210- type ShowsPrec_0123456789876543210 :: forall a. GHC.Num.Natural.Natural- -> X a -> GHC.Types.Symbol -> GHC.Types.Symbol- type family ShowsPrec_0123456789876543210 @a (a :: GHC.Num.Natural.Natural) (a :: X a) (a :: GHC.Types.Symbol) :: GHC.Types.Symbol where- ShowsPrec_0123456789876543210 @a (_ :: GHC.Num.Natural.Natural) (X1 :: X a) (a_0123456789876543210 :: GHC.Types.Symbol) = Apply (Apply ShowStringSym0 "X1") a_0123456789876543210- ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Num.Natural.Natural) (X2 arg_0123456789876543210 :: X a) (a_0123456789876543210 :: GHC.Types.Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "X2 ")) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))) a_0123456789876543210+ type ShowsPrec_0123456789876543210 :: forall a. GHC.Internal.Bignum.Natural.Natural+ -> X a+ -> GHC.Internal.Types.Symbol+ -> GHC.Internal.Types.Symbol+ type family ShowsPrec_0123456789876543210 @a (a :: GHC.Internal.Bignum.Natural.Natural) (a :: X a) (a :: GHC.Internal.Types.Symbol) :: GHC.Internal.Types.Symbol where+ ShowsPrec_0123456789876543210 @a (_ :: GHC.Internal.Bignum.Natural.Natural) (X1 :: X a) (a_0123456789876543210 :: GHC.Internal.Types.Symbol) = Apply (Apply ShowStringSym0 "X1") a_0123456789876543210+ ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) (X2 arg_0123456789876543210 :: X a) (a_0123456789876543210 :: GHC.Internal.Types.Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "X2 ")) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))) a_0123456789876543210 instance PShow (X a) where type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a- type ShowsPrec_0123456789876543210 :: forall a. GHC.Num.Natural.Natural- -> Y a -> GHC.Types.Symbol -> GHC.Types.Symbol- type family ShowsPrec_0123456789876543210 @a (a :: GHC.Num.Natural.Natural) (a :: Y a) (a :: GHC.Types.Symbol) :: GHC.Types.Symbol where- ShowsPrec_0123456789876543210 @a (_ :: GHC.Num.Natural.Natural) (Y1 :: Y a) (a_0123456789876543210 :: GHC.Types.Symbol) = Apply (Apply ShowStringSym0 "Y1") a_0123456789876543210- ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Num.Natural.Natural) (Y2 arg_0123456789876543210 :: Y a) (a_0123456789876543210 :: GHC.Types.Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "Y2 ")) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))) a_0123456789876543210+ type ShowsPrec_0123456789876543210 :: forall a. GHC.Internal.Bignum.Natural.Natural+ -> Y a+ -> GHC.Internal.Types.Symbol+ -> GHC.Internal.Types.Symbol+ type family ShowsPrec_0123456789876543210 @a (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Y a) (a :: GHC.Internal.Types.Symbol) :: GHC.Internal.Types.Symbol where+ ShowsPrec_0123456789876543210 @a (_ :: GHC.Internal.Bignum.Natural.Natural) (Y1 :: Y a) (a_0123456789876543210 :: GHC.Internal.Types.Symbol) = Apply (Apply ShowStringSym0 "Y1") a_0123456789876543210+ ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) (Y2 arg_0123456789876543210 :: Y a) (a_0123456789876543210 :: GHC.Internal.Types.Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "Y2 ")) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))) a_0123456789876543210 instance PShow (Y a) where type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a data SX :: forall (a :: Type). X a -> Type
tests/compile-and-dump/Singletons/T555.golden view
@@ -31,9 +31,9 @@ Compare_0123456789876543210 Quaternion Location = GTSym0 instance POrd MyPropKind where type Compare a a = Compare_0123456789876543210 a a- type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural+ type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural -> MyPropKind -> Symbol -> Symbol- type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: MyPropKind) (a :: Symbol) :: Symbol where+ type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: MyPropKind) (a :: Symbol) :: Symbol where ShowsPrec_0123456789876543210 _ Location a_0123456789876543210 = Apply (Apply ShowStringSym0 "Location") a_0123456789876543210 ShowsPrec_0123456789876543210 _ Quaternion a_0123456789876543210 = Apply (Apply ShowStringSym0 "Quaternion") a_0123456789876543210 instance PShow MyPropKind where
tests/compile-and-dump/Singletons/T581.golden view
@@ -10,19 +10,19 @@ m3 :: forall b. a -> b -> (a, b) m3 x y = (x, y) :: (a, b) - instance C1 [a] where- m1 :: forall b. [a] -> Maybe ([a], b)- m1 _ = Nothing :: Maybe ([a], b)+ instance C3 [a] where+ m3 x y = (fmap (\ xx -> (xx :: a)) x, y)+ instance C3 (Maybe a) where+ m3 :: Maybe a -> b -> (Maybe a, b)+ m3 x y = (fmap (\ xx -> (xx :: a)) x, y) instance C2 (Maybe a) where m2 _ = Nothing :: Maybe (Maybe a) instance C2 [a] where m2 :: b -> Maybe [a] m2 _ = Nothing :: Maybe [a]- instance C3 [a] where- m3 x y = (fmap (\ xx -> (xx :: a)) x, y)- instance C3 (Maybe a) where- m3 :: Maybe a -> b -> (Maybe a, b)- m3 x y = (fmap (\ xx -> (xx :: a)) x, y) |]+ instance C1 [a] where+ m1 :: forall b. [a] -> Maybe ([a], b)+ m1 _ = Nothing :: Maybe ([a], b) |] ======> class C1 a where m1 :: forall b. a -> Maybe (a, b)
tests/compile-and-dump/Singletons/T89.golden view
@@ -10,10 +10,10 @@ type FooSym0 :: Foo type family FooSym0 :: Foo where FooSym0 = Foo- type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+ type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where LamCases_0123456789876543210 n 'True = FooSym0 LamCases_0123456789876543210 n 'False = Apply ErrorSym0 (FromString "toEnum: bad argument")- data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+ data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 n0123456789876543210) arg) (LamCases_0123456789876543210Sym1 n0123456789876543210 arg) => LamCases_0123456789876543210Sym0 n0123456789876543210 a_01234567898765432100123456789876543210@@ -21,13 +21,15 @@ instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 n0123456789876543210) where suppressUnusedWarnings = snd ((,) LamCases_0123456789876543210Sym0KindInference ())- type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+ type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where LamCases_0123456789876543210Sym1 n0123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 n0123456789876543210 a_01234567898765432100123456789876543210- type ToEnum_0123456789876543210 :: GHC.Num.Natural.Natural -> Foo- type family ToEnum_0123456789876543210 (a :: GHC.Num.Natural.Natural) :: Foo where+ type ToEnum_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural+ -> Foo+ type family ToEnum_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) :: Foo where ToEnum_0123456789876543210 n = Apply (LamCases_0123456789876543210Sym0 n) (Apply (Apply (==@#@$) n) (FromInteger 0))- type FromEnum_0123456789876543210 :: Foo -> GHC.Num.Natural.Natural- type family FromEnum_0123456789876543210 (a :: Foo) :: GHC.Num.Natural.Natural where+ type FromEnum_0123456789876543210 :: Foo+ -> GHC.Internal.Bignum.Natural.Natural+ type family FromEnum_0123456789876543210 (a :: Foo) :: GHC.Internal.Bignum.Natural.Natural where FromEnum_0123456789876543210 Foo = FromInteger 0 instance PEnum Foo where type ToEnum a = ToEnum_0123456789876543210 a