singletons-base 3.3 → 3.4
raw patch · 119 files changed
+598/−475 lines, 119 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 +9/−9
- src/Control/Applicative/Singletons.hs +1/−0
- src/Control/Monad/Fail/Singletons.hs +1/−0
- src/Control/Monad/Singletons.hs +1/−0
- src/Control/Monad/Singletons/Internal.hs +1/−0
- src/Control/Monad/Zip/Singletons.hs +1/−0
- src/Data/Bool/Singletons.hs +1/−0
- src/Data/Either/Singletons.hs +1/−0
- src/Data/Eq/Singletons.hs +1/−0
- src/Data/Foldable/Singletons.hs +1/−0
- src/Data/Function/Singletons.hs +1/−0
- src/Data/Functor/Compose/Singletons.hs +1/−0
- src/Data/Functor/Const/Singletons.hs +1/−0
- src/Data/Functor/Identity/Singletons.hs +1/−0
- src/Data/Functor/Product/Singletons.hs +1/−0
- src/Data/Functor/Singletons.hs +1/−0
- src/Data/Functor/Sum/Singletons.hs +1/−0
- src/Data/List/NonEmpty/Singletons.hs +1/−0
- src/Data/List/Singletons/Internal.hs +1/−0
- src/Data/List/Singletons/Internal/Disambiguation.hs +2/−1
- src/Data/Maybe/Singletons.hs +1/−0
- src/Data/Monoid/Singletons.hs +1/−0
- src/Data/Ord/Singletons.hs +1/−0
- src/Data/Ord/Singletons/Disambiguation.hs +1/−0
- src/Data/Proxy/Singletons.hs +1/−0
- src/Data/Semigroup/Singletons.hs +1/−0
- src/Data/Semigroup/Singletons/Internal/Classes.hs +1/−0
- src/Data/Semigroup/Singletons/Internal/Disambiguation.hs +1/−0
- src/Data/Semigroup/Singletons/Internal/Wrappers.hs +1/−0
- src/Data/Singletons/Base/Enum.hs +1/−0
- src/Data/Singletons/Base/Instances.hs +1/−0
- src/Data/Singletons/Base/PolyError.hs +1/−0
- src/Data/Singletons/Base/TypeError.hs +1/−0
- src/Data/String/Singletons.hs +1/−0
- src/Data/Traversable/Singletons.hs +1/−0
- src/Data/Tuple/Singletons.hs +1/−0
- src/Data/Void/Singletons.hs +1/−0
- src/GHC/Base/Singletons.hs +1/−0
- src/GHC/Num/Singletons.hs +1/−0
- src/GHC/TypeLits/Singletons/Internal.hs +1/−0
- src/Text/Show/Singletons.hs +1/−0
- tests/SingletonsBaseTestSuite.hs +1/−0
- tests/compile-and-dump/GradingClient/Database.golden +19/−15
- tests/compile-and-dump/Promote/GenDefunSymbols.golden +1/−1
- tests/compile-and-dump/Promote/T361.golden +1/−1
- tests/compile-and-dump/Singletons/BoundedDeriving.golden +11/−11
- tests/compile-and-dump/Singletons/BoxUnBox.golden +3/−3
- tests/compile-and-dump/Singletons/CaseExpressions.golden +10/−10
- tests/compile-and-dump/Singletons/Classes.golden +6/−6
- tests/compile-and-dump/Singletons/Contains.golden +2/−2
- tests/compile-and-dump/Singletons/DataValues.golden +3/−3
- tests/compile-and-dump/Singletons/Error.golden +2/−2
- tests/compile-and-dump/Singletons/Fixity.golden +3/−3
- tests/compile-and-dump/Singletons/FunDeps.golden +2/−2
- tests/compile-and-dump/Singletons/FunctorLikeDeriving.golden +20/−20
- tests/compile-and-dump/Singletons/HigherOrder.golden +10/−10
- tests/compile-and-dump/Singletons/LambdaCase.golden +6/−6
- tests/compile-and-dump/Singletons/Lambdas.golden +19/−19
- tests/compile-and-dump/Singletons/LetStatements.golden +4/−4
- tests/compile-and-dump/Singletons/Maybe.golden +12/−10
- tests/compile-and-dump/Singletons/Nat.golden +6/−4
- tests/compile-and-dump/Singletons/OrdDeriving.golden +22/−18
- tests/compile-and-dump/Singletons/PatternMatching.golden +11/−9
- tests/compile-and-dump/Singletons/PolyKinds.golden +1/−1
- tests/compile-and-dump/Singletons/PolyKindsApp.golden +2/−1
- tests/compile-and-dump/Singletons/Records.golden +5/−5
- tests/compile-and-dump/Singletons/ReturnFunc.golden +4/−4
- tests/compile-and-dump/Singletons/ShowDeriving.golden +6/−6
- tests/compile-and-dump/Singletons/StandaloneDeriving.golden +19/−15
- tests/compile-and-dump/Singletons/Star.golden +6/−4
- tests/compile-and-dump/Singletons/T136b.golden +1/−1
- tests/compile-and-dump/Singletons/T145.golden +1/−1
- tests/compile-and-dump/Singletons/T150.golden +19/−19
- tests/compile-and-dump/Singletons/T160.golden +3/−3
- tests/compile-and-dump/Singletons/T163.golden +2/−2
- tests/compile-and-dump/Singletons/T166.golden +5/−5
- tests/compile-and-dump/Singletons/T167.golden +6/−6
- tests/compile-and-dump/Singletons/T175.golden +6/−6
- tests/compile-and-dump/Singletons/T176.golden +8/−8
- tests/compile-and-dump/Singletons/T178.golden +6/−6
- tests/compile-and-dump/Singletons/T183.golden +19/−19
- tests/compile-and-dump/Singletons/T184.golden +8/−8
- tests/compile-and-dump/Singletons/T187.golden +6/−6
- tests/compile-and-dump/Singletons/T190.golden +6/−4
- tests/compile-and-dump/Singletons/T197b.golden +2/−2
- tests/compile-and-dump/Singletons/T204.golden +2/−2
- tests/compile-and-dump/Singletons/T209.golden +2/−2
- tests/compile-and-dump/Singletons/T249.golden +3/−3
- tests/compile-and-dump/Singletons/T271.golden +22/−22
- tests/compile-and-dump/Singletons/T287.golden +3/−3
- tests/compile-and-dump/Singletons/T296.golden +3/−3
- tests/compile-and-dump/Singletons/T297.golden +3/−3
- tests/compile-and-dump/Singletons/T312.golden +6/−6
- tests/compile-and-dump/Singletons/T316.golden +2/−2
- tests/compile-and-dump/Singletons/T326.golden +2/−2
- tests/compile-and-dump/Singletons/T353.golden +3/−2
- tests/compile-and-dump/Singletons/T358.golden +9/−9
- tests/compile-and-dump/Singletons/T367.golden +2/−2
- tests/compile-and-dump/Singletons/T371.golden +8/−8
- tests/compile-and-dump/Singletons/T378a.golden +6/−6
- tests/compile-and-dump/Singletons/T378b.golden +2/−2
- tests/compile-and-dump/Singletons/T410.golden +1/−1
- tests/compile-and-dump/Singletons/T412.golden +12/−12
- tests/compile-and-dump/Singletons/T433.golden +18/−18
- tests/compile-and-dump/Singletons/T443.golden +6/−6
- tests/compile-and-dump/Singletons/T450.golden +3/−3
- tests/compile-and-dump/Singletons/T470.golden +3/−3
- tests/compile-and-dump/Singletons/T489.golden +2/−2
- tests/compile-and-dump/Singletons/T511.golden +2/−2
- tests/compile-and-dump/Singletons/T536.golden +11/−9
- tests/compile-and-dump/Singletons/T555.golden +6/−6
- tests/compile-and-dump/Singletons/T567.golden +4/−4
- tests/compile-and-dump/Singletons/T571.golden +4/−4
- tests/compile-and-dump/Singletons/T585.golden +40/−0
- tests/compile-and-dump/Singletons/T585.hs +8/−0
- tests/compile-and-dump/Singletons/TopLevelPatterns.golden +22/−18
- tests/compile-and-dump/Singletons/TypeAbstractions.golden +8/−8
CHANGES.md view
@@ -1,6 +1,10 @@ Changelog for the `singletons-base` project =========================================== +3.4 [2024.05.12]+----------------+* Require building with GHC 9.10.+ 3.3 [2023.10.13] ---------------- * Require building with GHC 9.8.
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.8). For more information,+of GHC (currently GHC 9.10). For more information, consult the `singletons` [`README`](https://github.com/goldfirere/singletons/blob/master/README.md).
singletons-base.cabal view
@@ -1,5 +1,5 @@ name: singletons-base-version: 3.3+version: 3.4 cabal-version: 1.24 synopsis: A promoted and singled version of the base library homepage: http://www.github.com/goldfirere/singletons@@ -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.8.1+tested-with: GHC == 9.10.1 extra-source-files: README.md, CHANGES.md, tests/README.md, tests/compile-and-dump/GradingClient/*.hs, tests/compile-and-dump/InsertionSort/*.hs,@@ -38,7 +38,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.8). For more information,+ of GHC (currently GHC 9.10). For more information, consult the @singletons@ @<https://github.com/goldfirere/singletons/blob/master/README.md README>@. .@@ -65,20 +65,20 @@ custom-setup setup-depends:- base >= 4.19 && < 4.20,+ base >= 4.19 && < 4.21, Cabal >= 3.0 && < 3.13, directory >= 1, filepath >= 1.3 library hs-source-dirs: src- build-depends: base >= 4.19 && < 4.20,+ build-depends: base >= 4.20 && < 4.21, pretty, singletons == 3.0.*,- singletons-th >= 3.3 && < 3.4,- template-haskell >= 2.21 && < 2.22,+ singletons-th >= 3.4 && < 3.5,+ template-haskell >= 2.22 && < 2.23, text >= 1.2,- th-desugar >= 1.16 && < 1.17+ th-desugar >= 1.17 && < 1.18 default-language: GHC2021 other-extensions: TemplateHaskell exposed-modules: Data.Singletons.Base.CustomStar@@ -155,7 +155,7 @@ main-is: SingletonsBaseTestSuite.hs other-modules: SingletonsBaseTestSuiteUtils - build-depends: base >= 4.19 && < 4.20,+ build-depends: base >= 4.20 && < 4.21, bytestring >= 0.10.9, deepseq >= 1.4.4, filepath >= 1.3,
src/Control/Applicative/Singletons.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-}
src/Control/Monad/Fail/Singletons.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/Control/Monad/Singletons.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-}
src/Control/Monad/Singletons/Internal.hs view
@@ -2,6 +2,7 @@ {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/Control/Monad/Zip/Singletons.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/Data/Bool/Singletons.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/Data/Either/Singletons.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/Data/Eq/Singletons.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/Data/Foldable/Singletons.hs view
@@ -2,6 +2,7 @@ {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/Data/Function/Singletons.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/Data/Functor/Compose/Singletons.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-}
src/Data/Functor/Const/Singletons.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-}
src/Data/Functor/Identity/Singletons.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-}
src/Data/Functor/Product/Singletons.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-}
src/Data/Functor/Singletons.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-}
src/Data/Functor/Sum/Singletons.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-}
src/Data/List/NonEmpty/Singletons.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-}
src/Data/List/Singletons/Internal.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -O0 #-}
src/Data/List/Singletons/Internal/Disambiguation.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} @@ -20,7 +21,7 @@ module Data.List.Singletons.Internal.Disambiguation where import Data.Eq.Singletons-import Data.List ( foldl', inits, insert, intersperse, isPrefixOf+import Data.List ( inits, insert, intersperse, isPrefixOf , nubBy, partition, sort, sortBy, tails, transpose ) import Data.List.Singletons.Internal import Data.Ord.Singletons
src/Data/Maybe/Singletons.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/Data/Monoid/Singletons.hs view
@@ -2,6 +2,7 @@ {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-}
src/Data/Ord/Singletons.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-}
src/Data/Ord/Singletons/Disambiguation.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/Data/Proxy/Singletons.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-}
src/Data/Semigroup/Singletons.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-}
src/Data/Semigroup/Singletons/Internal/Classes.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/Data/Semigroup/Singletons/Internal/Disambiguation.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/Data/Semigroup/Singletons/Internal/Wrappers.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-}
src/Data/Singletons/Base/Enum.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/Data/Singletons/Base/Instances.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-}
src/Data/Singletons/Base/PolyError.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/Data/Singletons/Base/TypeError.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/Data/String/Singletons.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/Data/Traversable/Singletons.hs view
@@ -2,6 +2,7 @@ {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/Data/Tuple/Singletons.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/Data/Void/Singletons.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/GHC/Base/Singletons.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/GHC/Num/Singletons.hs view
@@ -2,6 +2,7 @@ {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE NoStarIsType #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
src/GHC/TypeLits/Singletons/Internal.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-}
src/Text/Show/Singletons.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-}
tests/SingletonsBaseTestSuite.hs view
@@ -152,6 +152,7 @@ , compileAndDumpStdTest "T563" , compileAndDumpStdTest "T567" , compileAndDumpStdTest "T571"+ , compileAndDumpStdTest "T585" , compileAndDumpStdTest "TypeAbstractions" ], testCompileAndDumpGroup "Promote"
tests/compile-and-dump/GradingClient/Database.golden view
@@ -146,12 +146,14 @@ instance Eq (SNat (z :: Nat)) where (==) _ _ = True instance SDecide Nat =>- Data.Type.Equality.TestEquality (SNat :: Nat -> Type) where- Data.Type.Equality.testEquality+ GHC.Internal.Data.Type.Equality.TestEquality (SNat :: Nat+ -> Type) where+ GHC.Internal.Data.Type.Equality.testEquality = Data.Singletons.Decide.decideEquality instance SDecide Nat =>- Data.Type.Coercion.TestCoercion (SNat :: Nat -> Type) where- Data.Type.Coercion.testCoercion+ GHC.Internal.Data.Type.Coercion.TestCoercion (SNat :: Nat+ -> Type) where+ GHC.Internal.Data.Type.Coercion.testCoercion = Data.Singletons.Decide.decideCoercion instance Ord (SNat (z :: Nat)) where compare _ _ = EQ@@ -1448,7 +1450,7 @@ sScrutinee_0123456789876543210 = applySing (applySing (singFun2 @(==@#@$) (%==)) sName) sName' in- GHC.Base.id+ GHC.Internal.Base.id @(Sing (Case_0123456789876543210 name name' u attrs (Let0123456789876543210Scrutinee_0123456789876543210Sym4 name name' u attrs))) (case sScrutinee_0123456789876543210 of STrue -> sU@@ -2694,12 +2696,14 @@ instance Eq (SU (z :: U)) where (==) _ _ = True instance (SDecide U, SDecide Nat) =>- Data.Type.Equality.TestEquality (SU :: U -> Type) where- Data.Type.Equality.testEquality+ GHC.Internal.Data.Type.Equality.TestEquality (SU :: U+ -> Type) where+ GHC.Internal.Data.Type.Equality.testEquality = Data.Singletons.Decide.decideEquality instance (SDecide U, SDecide Nat) =>- Data.Type.Coercion.TestCoercion (SU :: U -> Type) where- Data.Type.Coercion.testCoercion+ GHC.Internal.Data.Type.Coercion.TestCoercion (SU :: U+ -> Type) where+ GHC.Internal.Data.Type.Coercion.testCoercion = Data.Singletons.Decide.decideCoercion instance SDecide AChar where (%~) SCA SCA = Proved Refl@@ -3380,13 +3384,13 @@ (%~) SCZ SCZ = Proved Refl instance Eq (SAChar (z :: AChar)) where (==) _ _ = True- instance Data.Type.Equality.TestEquality (SAChar :: AChar- -> Type) where- Data.Type.Equality.testEquality+ instance GHC.Internal.Data.Type.Equality.TestEquality (SAChar :: AChar+ -> Type) where+ GHC.Internal.Data.Type.Equality.testEquality = Data.Singletons.Decide.decideEquality- instance Data.Type.Coercion.TestCoercion (SAChar :: AChar- -> Type) where- Data.Type.Coercion.testCoercion+ instance GHC.Internal.Data.Type.Coercion.TestCoercion (SAChar :: AChar+ -> Type) where+ GHC.Internal.Data.Type.Coercion.testCoercion = Data.Singletons.Decide.decideCoercion deriving instance (Data.Singletons.ShowSing.ShowSing U, Data.Singletons.ShowSing.ShowSing Nat) =>
tests/compile-and-dump/Promote/GenDefunSymbols.golden view
@@ -23,7 +23,7 @@ = snd ((,) LiftMaybeSym1KindInference ()) type LiftMaybeSym2 :: forall (a :: Type) (b :: Type). (~>) a b -> Maybe a -> Maybe b- type family LiftMaybeSym2 (a0123456789876543210 :: (~>) a b) (a0123456789876543210 :: Maybe a) :: Maybe b where+ type family LiftMaybeSym2 @(a :: Type) @(b :: Type) (a0123456789876543210 :: (~>) a b) (a0123456789876543210 :: Maybe a) :: Maybe b where LiftMaybeSym2 a0123456789876543210 a0123456789876543210 = LiftMaybe a0123456789876543210 a0123456789876543210 type ZeroSym0 :: NatT type family ZeroSym0 :: NatT where
tests/compile-and-dump/Promote/T361.golden view
@@ -2,7 +2,7 @@ genDefunSymbols [''Proxy] ======> type ProxySym0 :: forall k (t :: k). Proxy t- type family ProxySym0 :: Proxy t where+ type family ProxySym0 @k @(t :: k) :: Proxy t where ProxySym0 = 'Proxy Promote/T361.hs:(0,0)-(0,0): Splicing declarations promote
tests/compile-and-dump/Singletons/BoundedDeriving.golden view
@@ -58,13 +58,13 @@ instance SuppressUnusedWarnings Foo3Sym0 where suppressUnusedWarnings = snd ((,) Foo3Sym0KindInference ()) type Foo3Sym1 :: forall a. a -> Foo3 a- type family Foo3Sym1 (a0123456789876543210 :: a) :: Foo3 a where+ type family Foo3Sym1 @a (a0123456789876543210 :: a) :: Foo3 a where Foo3Sym1 a0123456789876543210 = Foo3 a0123456789876543210 type Foo41Sym0 :: forall (a :: Type) (b :: Type). Foo4 a b- type family Foo41Sym0 :: Foo4 a b where+ type family Foo41Sym0 @(a :: Type) @(b :: Type) :: Foo4 a b where Foo41Sym0 = Foo41 type Foo42Sym0 :: forall (a :: Type) (b :: Type). Foo4 a b- type family Foo42Sym0 :: Foo4 a b where+ type family Foo42Sym0 @(a :: Type) @(b :: Type) :: Foo4 a b where Foo42Sym0 = Foo42 type PairSym0 :: (~>) Bool ((~>) Bool Pair) data PairSym0 :: (~>) Bool ((~>) Bool Pair)@@ -116,31 +116,31 @@ type MinBound = MinBound_0123456789876543210Sym0 type MaxBound = MaxBound_0123456789876543210Sym0 type MinBound_0123456789876543210 :: Foo3 a- type family MinBound_0123456789876543210 :: Foo3 a where+ type family MinBound_0123456789876543210 @a :: Foo3 a where MinBound_0123456789876543210 = Apply Foo3Sym0 MinBoundSym0 type MinBound_0123456789876543210Sym0 :: Foo3 a- type family MinBound_0123456789876543210Sym0 :: Foo3 a where+ type family MinBound_0123456789876543210Sym0 @a :: Foo3 a where MinBound_0123456789876543210Sym0 = MinBound_0123456789876543210 type MaxBound_0123456789876543210 :: Foo3 a- type family MaxBound_0123456789876543210 :: Foo3 a where+ type family MaxBound_0123456789876543210 @a :: Foo3 a where MaxBound_0123456789876543210 = Apply Foo3Sym0 MaxBoundSym0 type MaxBound_0123456789876543210Sym0 :: Foo3 a- type family MaxBound_0123456789876543210Sym0 :: Foo3 a where+ type family MaxBound_0123456789876543210Sym0 @a :: Foo3 a where MaxBound_0123456789876543210Sym0 = MaxBound_0123456789876543210 instance PBounded (Foo3 a) where type MinBound = MinBound_0123456789876543210Sym0 type MaxBound = MaxBound_0123456789876543210Sym0 type MinBound_0123456789876543210 :: Foo4 a b- type family MinBound_0123456789876543210 :: Foo4 a b where+ type family MinBound_0123456789876543210 @a @b :: Foo4 a b where MinBound_0123456789876543210 = Foo41Sym0 type MinBound_0123456789876543210Sym0 :: Foo4 a b- type family MinBound_0123456789876543210Sym0 :: Foo4 a b where+ type family MinBound_0123456789876543210Sym0 @a @b :: Foo4 a b where MinBound_0123456789876543210Sym0 = MinBound_0123456789876543210 type MaxBound_0123456789876543210 :: Foo4 a b- type family MaxBound_0123456789876543210 :: Foo4 a b where+ type family MaxBound_0123456789876543210 @a @b :: Foo4 a b where MaxBound_0123456789876543210 = Foo42Sym0 type MaxBound_0123456789876543210Sym0 :: Foo4 a b- type family MaxBound_0123456789876543210Sym0 :: Foo4 a b where+ type family MaxBound_0123456789876543210Sym0 @a @b :: Foo4 a b where MaxBound_0123456789876543210Sym0 = MaxBound_0123456789876543210 instance PBounded (Foo4 a b) where type MinBound = MinBound_0123456789876543210Sym0
tests/compile-and-dump/Singletons/BoxUnBox.golden view
@@ -17,7 +17,7 @@ instance SuppressUnusedWarnings FBoxSym0 where suppressUnusedWarnings = snd ((,) FBoxSym0KindInference ()) type FBoxSym1 :: forall a. a -> Box a- type family FBoxSym1 (a0123456789876543210 :: a) :: Box a where+ type family FBoxSym1 @a (a0123456789876543210 :: a) :: Box a where FBoxSym1 a0123456789876543210 = FBox a0123456789876543210 type UnBoxSym0 :: (~>) (Box a) a data UnBoxSym0 :: (~>) (Box a) a@@ -28,10 +28,10 @@ instance SuppressUnusedWarnings UnBoxSym0 where suppressUnusedWarnings = snd ((,) UnBoxSym0KindInference ()) type UnBoxSym1 :: Box a -> a- type family UnBoxSym1 (a0123456789876543210 :: Box a) :: a where+ type family UnBoxSym1 @a (a0123456789876543210 :: Box a) :: a where UnBoxSym1 a0123456789876543210 = UnBox a0123456789876543210 type UnBox :: Box a -> a- type family UnBox (a :: Box a) :: a where+ type family UnBox @a (a :: Box a) :: a where UnBox (FBox a) = a sUnBox :: (forall (t :: Box a).
tests/compile-and-dump/Singletons/CaseExpressions.golden view
@@ -156,7 +156,7 @@ instance SuppressUnusedWarnings Foo5Sym0 where suppressUnusedWarnings = snd ((,) Foo5Sym0KindInference ()) type Foo5Sym1 :: a -> a- type family Foo5Sym1 (a0123456789876543210 :: a) :: a where+ type family Foo5Sym1 @a (a0123456789876543210 :: a) :: a where Foo5Sym1 a0123456789876543210 = Foo5 a0123456789876543210 type Foo4Sym0 :: forall a. (~>) a a data Foo4Sym0 :: (~>) a a@@ -167,7 +167,7 @@ instance SuppressUnusedWarnings Foo4Sym0 where suppressUnusedWarnings = snd ((,) Foo4Sym0KindInference ()) type Foo4Sym1 :: forall a. a -> a- type family Foo4Sym1 (a0123456789876543210 :: a) :: a where+ type family Foo4Sym1 @a (a0123456789876543210 :: a) :: a where Foo4Sym1 a0123456789876543210 = Foo4 a0123456789876543210 type Foo3Sym0 :: (~>) a ((~>) b a) data Foo3Sym0 :: (~>) a ((~>) b a)@@ -186,7 +186,7 @@ instance SuppressUnusedWarnings (Foo3Sym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) Foo3Sym1KindInference ()) type Foo3Sym2 :: a -> b -> a- type family Foo3Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where+ type family Foo3Sym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where Foo3Sym2 a0123456789876543210 a0123456789876543210 = Foo3 a0123456789876543210 a0123456789876543210 type Foo2Sym0 :: (~>) a ((~>) (Maybe a) a) data Foo2Sym0 :: (~>) a ((~>) (Maybe a) a)@@ -205,7 +205,7 @@ instance SuppressUnusedWarnings (Foo2Sym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) Foo2Sym1KindInference ()) type Foo2Sym2 :: a -> Maybe a -> a- type family Foo2Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: Maybe a) :: a where+ type family Foo2Sym2 @a (a0123456789876543210 :: a) (a0123456789876543210 :: Maybe a) :: a where Foo2Sym2 a0123456789876543210 a0123456789876543210 = Foo2 a0123456789876543210 a0123456789876543210 type Foo1Sym0 :: (~>) a ((~>) (Maybe a) a) data Foo1Sym0 :: (~>) a ((~>) (Maybe a) a)@@ -224,22 +224,22 @@ instance SuppressUnusedWarnings (Foo1Sym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) Foo1Sym1KindInference ()) type Foo1Sym2 :: a -> Maybe a -> a- type family Foo1Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: Maybe a) :: a where+ type family Foo1Sym2 @a (a0123456789876543210 :: a) (a0123456789876543210 :: Maybe a) :: a where Foo1Sym2 a0123456789876543210 a0123456789876543210 = Foo1 a0123456789876543210 a0123456789876543210 type Foo5 :: a -> a- type family Foo5 (a :: a) :: a where+ type family Foo5 @a (a :: a) :: a where Foo5 x = Case_0123456789876543210 x x type Foo4 :: forall a. a -> a- type family Foo4 (a :: a) :: a where+ type family Foo4 @a (a :: a) :: a where Foo4 @a (x :: a) = Case_0123456789876543210 a x x type Foo3 :: a -> b -> a- type family Foo3 (a :: a) (a :: b) :: a where+ type family Foo3 @a @b (a :: a) (a :: b) :: a where Foo3 a b = Case_0123456789876543210 a b (Let0123456789876543210Scrutinee_0123456789876543210Sym2 a b) type Foo2 :: a -> Maybe a -> a- type family Foo2 (a :: a) (a :: Maybe a) :: a where+ type family Foo2 @a (a :: a) (a :: Maybe a) :: a where Foo2 d _ = Case_0123456789876543210 d (Let0123456789876543210Scrutinee_0123456789876543210Sym1 d) type Foo1 :: a -> Maybe a -> a- type family Foo1 (a :: a) (a :: Maybe a) :: a where+ type family Foo1 @a (a :: a) (a :: Maybe a) :: a where Foo1 d x = Case_0123456789876543210 d x x sFoo5 :: (forall (t :: a). Sing t -> Sing (Apply Foo5Sym0 t :: a) :: Type)
tests/compile-and-dump/Singletons/Classes.golden view
@@ -107,7 +107,7 @@ instance SuppressUnusedWarnings (ConstSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) ConstSym1KindInference ()) type ConstSym2 :: a -> b -> a- type family ConstSym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where+ type family ConstSym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where ConstSym2 a0123456789876543210 a0123456789876543210 = Const a0123456789876543210 a0123456789876543210 type FooCompare :: Foo -> Foo -> Ordering type family FooCompare (a :: Foo) (a :: Foo) :: Ordering where@@ -116,7 +116,7 @@ FooCompare B B = GTSym0 FooCompare B A = EQSym0 type Const :: a -> b -> a- type family Const (a :: a) (a :: b) :: a where+ type family Const @a @b (a :: a) (a :: b) :: a where Const x _ = x type MycompareSym0 :: forall a. (~>) a ((~>) a Ordering) data MycompareSym0 :: (~>) a ((~>) a Ordering)@@ -135,7 +135,7 @@ instance SuppressUnusedWarnings (MycompareSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) MycompareSym1KindInference ()) type MycompareSym2 :: forall a. a -> a -> Ordering- type family MycompareSym2 (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Ordering where+ type family MycompareSym2 @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Ordering where MycompareSym2 a0123456789876543210 a0123456789876543210 = Mycompare a0123456789876543210 a0123456789876543210 type (<=>@#@$) :: forall a. (~>) a ((~>) a Ordering) data (<=>@#@$) :: (~>) a ((~>) a Ordering)@@ -156,11 +156,11 @@ suppressUnusedWarnings = snd ((,) (:<=>@#@$$###) ()) infix 4 <=>@#@$$ type (<=>@#@$$$) :: forall a. a -> a -> Ordering- type family (<=>@#@$$$) (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Ordering where+ type family (<=>@#@$$$) @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Ordering where (<=>@#@$$$) a0123456789876543210 a0123456789876543210 = (<=>) a0123456789876543210 a0123456789876543210 infix 4 <=>@#@$$$ type TFHelper_0123456789876543210 :: a -> a -> Ordering- type family TFHelper_0123456789876543210 (a :: a) (a :: a) :: Ordering where+ type family TFHelper_0123456789876543210 @a (a :: a) (a :: a) :: Ordering where TFHelper_0123456789876543210 a_0123456789876543210 a_0123456789876543210 = Apply (Apply MycompareSym0 a_0123456789876543210) a_0123456789876543210 type TFHelper_0123456789876543210Sym0 :: (~>) a ((~>) a Ordering) data TFHelper_0123456789876543210Sym0 :: (~>) a ((~>) a Ordering)@@ -181,7 +181,7 @@ suppressUnusedWarnings = snd ((,) TFHelper_0123456789876543210Sym1KindInference ()) type TFHelper_0123456789876543210Sym2 :: a -> a -> Ordering- type family TFHelper_0123456789876543210Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Ordering where+ type family TFHelper_0123456789876543210Sym2 @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Ordering where TFHelper_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = TFHelper_0123456789876543210 a0123456789876543210 a0123456789876543210 class PMyOrd a where type family Mycompare (arg :: a) (arg :: a) :: Ordering
tests/compile-and-dump/Singletons/Contains.golden view
@@ -24,10 +24,10 @@ instance SuppressUnusedWarnings (ContainsSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) ContainsSym1KindInference ()) type ContainsSym2 :: a -> [a] -> Bool- type family ContainsSym2 (a0123456789876543210 :: a) (a0123456789876543210 :: [a]) :: Bool where+ type family ContainsSym2 @a (a0123456789876543210 :: a) (a0123456789876543210 :: [a]) :: Bool where ContainsSym2 a0123456789876543210 a0123456789876543210 = Contains a0123456789876543210 a0123456789876543210 type Contains :: a -> [a] -> Bool- type family Contains (a :: a) (a :: [a]) :: Bool where+ type family Contains @a (a :: a) (a :: [a]) :: Bool where Contains _ '[] = FalseSym0 Contains elt ('(:) h t) = Apply (Apply (||@#@$) (Apply (Apply (==@#@$) elt) h)) (Apply (Apply ContainsSym0 elt) t) sContains ::
tests/compile-and-dump/Singletons/DataValues.golden view
@@ -33,7 +33,7 @@ instance SuppressUnusedWarnings (PairSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) PairSym1KindInference ()) type PairSym2 :: forall a b. a -> b -> Pair a b- type family PairSym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: Pair a b where+ type family PairSym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: Pair a b where PairSym2 a0123456789876543210 a0123456789876543210 = Pair a0123456789876543210 a0123456789876543210 type family AListSym0 where AListSym0 = AList@@ -53,7 +53,7 @@ Pr = Apply (Apply PairSym0 (Apply SuccSym0 ZeroSym0)) (Apply (Apply (:@#@$) ZeroSym0) NilSym0) type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural -> Pair a b -> Symbol -> Symbol- type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: Pair a b) (a :: Symbol) :: Symbol where+ type family ShowsPrec_0123456789876543210 @a @b (a :: GHC.Num.Natural.Natural) (a :: Pair a b) (a :: Symbol) :: Symbol where ShowsPrec_0123456789876543210 p_0123456789876543210 (Pair arg_0123456789876543210 arg_0123456789876543210) a_0123456789876543210 = 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 ShowsPrec_0123456789876543210Sym0 :: (~>) GHC.Num.Natural.Natural ((~>) (Pair a b) ((~>) Symbol Symbol)) data ShowsPrec_0123456789876543210Sym0 :: (~>) GHC.Num.Natural.Natural ((~>) (Pair a b) ((~>) Symbol Symbol))@@ -86,7 +86,7 @@ = snd ((,) ShowsPrec_0123456789876543210Sym2KindInference ()) type ShowsPrec_0123456789876543210Sym3 :: GHC.Num.Natural.Natural -> Pair a b -> Symbol -> Symbol- type family ShowsPrec_0123456789876543210Sym3 (a0123456789876543210 :: GHC.Num.Natural.Natural) (a0123456789876543210 :: Pair a b) (a0123456789876543210 :: Symbol) :: Symbol where+ type family ShowsPrec_0123456789876543210Sym3 @a @b (a0123456789876543210 :: GHC.Num.Natural.Natural) (a0123456789876543210 :: Pair a b) (a0123456789876543210 :: Symbol) :: Symbol where ShowsPrec_0123456789876543210Sym3 a0123456789876543210 a0123456789876543210 a0123456789876543210 = ShowsPrec_0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 instance PShow (Pair a b) where type ShowsPrec a a a = Apply (Apply (Apply ShowsPrec_0123456789876543210Sym0 a) a) a
tests/compile-and-dump/Singletons/Error.golden view
@@ -16,10 +16,10 @@ instance SuppressUnusedWarnings HeadSym0 where suppressUnusedWarnings = snd ((,) HeadSym0KindInference ()) type HeadSym1 :: [a] -> a- type family HeadSym1 (a0123456789876543210 :: [a]) :: a where+ type family HeadSym1 @a (a0123456789876543210 :: [a]) :: a where HeadSym1 a0123456789876543210 = Head a0123456789876543210 type Head :: [a] -> a- type family Head (a :: [a]) :: a where+ type family Head @a (a :: [a]) :: a where Head ('(:) a _) = a Head '[] = Apply ErrorSym0 "head: empty list" sHead ::
tests/compile-and-dump/Singletons/Fixity.golden view
@@ -34,11 +34,11 @@ suppressUnusedWarnings = snd ((,) (:====@#@$$###) ()) infix 4 ====@#@$$ type (====@#@$$$) :: a -> a -> a- type family (====@#@$$$) (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: a where+ type family (====@#@$$$) @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: a where (====@#@$$$) a0123456789876543210 a0123456789876543210 = (====) a0123456789876543210 a0123456789876543210 infix 4 ====@#@$$$ type (====) :: a -> a -> a- type family (====) (a :: a) (a :: a) :: a where+ type family (====) @a (a :: a) (a :: a) :: a where (====) a _ = a type (<=>@#@$) :: forall a. (~>) a ((~>) a Ordering) data (<=>@#@$) :: (~>) a ((~>) a Ordering)@@ -59,7 +59,7 @@ suppressUnusedWarnings = snd ((,) (:<=>@#@$$###) ()) infix 4 <=>@#@$$ type (<=>@#@$$$) :: forall a. a -> a -> Ordering- type family (<=>@#@$$$) (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Ordering where+ type family (<=>@#@$$$) @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Ordering where (<=>@#@$$$) a0123456789876543210 a0123456789876543210 = (<=>) a0123456789876543210 a0123456789876543210 infix 4 <=>@#@$$$ class PMyOrd a where
tests/compile-and-dump/Singletons/FunDeps.golden view
@@ -32,7 +32,7 @@ instance SuppressUnusedWarnings MethSym0 where suppressUnusedWarnings = snd ((,) MethSym0KindInference ()) type MethSym1 :: forall a. a -> a- type family MethSym1 (a0123456789876543210 :: a) :: a where+ type family MethSym1 @a (a0123456789876543210 :: a) :: a where MethSym1 a0123456789876543210 = Meth a0123456789876543210 type L2rSym0 :: forall a b. (~>) a b data L2rSym0 :: (~>) a b@@ -43,7 +43,7 @@ instance SuppressUnusedWarnings L2rSym0 where suppressUnusedWarnings = snd ((,) L2rSym0KindInference ()) type L2rSym1 :: forall a b. a -> b- type family L2rSym1 (a0123456789876543210 :: a) :: b where+ type family L2rSym1 @a @b (a0123456789876543210 :: a) :: b where L2rSym1 a0123456789876543210 = L2r a0123456789876543210 class PFD a b | a -> b where type family Meth (arg :: a) :: a
tests/compile-and-dump/Singletons/FunctorLikeDeriving.golden view
@@ -47,7 +47,7 @@ suppressUnusedWarnings = snd ((,) MkT1Sym3KindInference ()) type MkT1Sym4 :: forall x a. x -> a -> Maybe a -> Maybe (Maybe a) -> T x a- type family MkT1Sym4 (a0123456789876543210 :: x) (a0123456789876543210 :: a) (a0123456789876543210 :: Maybe a) (a0123456789876543210 :: Maybe (Maybe a)) :: T x a where+ type family MkT1Sym4 @x @a (a0123456789876543210 :: x) (a0123456789876543210 :: a) (a0123456789876543210 :: Maybe a) (a0123456789876543210 :: Maybe (Maybe a)) :: T x a where MkT1Sym4 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 = MkT1 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 type MkT2Sym0 :: forall x a. (~>) (Maybe x) (T x a) data MkT2Sym0 :: (~>) (Maybe x) (T x a)@@ -58,7 +58,7 @@ instance SuppressUnusedWarnings MkT2Sym0 where suppressUnusedWarnings = snd ((,) MkT2Sym0KindInference ()) type MkT2Sym1 :: forall x a. Maybe x -> T x a- type family MkT2Sym1 (a0123456789876543210 :: Maybe x) :: T x a where+ type family MkT2Sym1 @x @a (a0123456789876543210 :: Maybe x) :: T x a where MkT2Sym1 a0123456789876543210 = MkT2 a0123456789876543210 type family Lambda_0123456789876543210 _f_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 n_0123456789876543210 where Lambda_0123456789876543210 _f_0123456789876543210 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210 n_0123456789876543210 = n_0123456789876543210@@ -141,7 +141,7 @@ type family Lambda_0123456789876543210Sym3 _f_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 n_01234567898765432100123456789876543210 where Lambda_0123456789876543210Sym3 _f_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 n_01234567898765432100123456789876543210 = Lambda_0123456789876543210 _f_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 n_01234567898765432100123456789876543210 type Fmap_0123456789876543210 :: (~>) a b -> T x a -> T x b- type family Fmap_0123456789876543210 (a :: (~>) a b) (a :: T x a) :: T x b where+ type family Fmap_0123456789876543210 @a @b @x (a :: (~>) a b) (a :: T x a) :: T x b where Fmap_0123456789876543210 _f_0123456789876543210 (MkT1 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210) = Apply (Apply (Apply (Apply MkT1Sym0 (Apply (Apply (Apply (Apply (Apply (Apply Lambda_0123456789876543210Sym0 _f_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210)) (Apply _f_0123456789876543210 a_0123456789876543210)) (Apply (Apply FmapSym0 _f_0123456789876543210) a_0123456789876543210)) (Apply (Apply FmapSym0 (Apply FmapSym0 _f_0123456789876543210)) a_0123456789876543210) Fmap_0123456789876543210 _f_0123456789876543210 (MkT2 a_0123456789876543210) = Apply MkT2Sym0 (Apply (Apply (Apply Lambda_0123456789876543210Sym0 _f_0123456789876543210) a_0123456789876543210) a_0123456789876543210) type Fmap_0123456789876543210Sym0 :: (~>) ((~>) a b) ((~>) (T x a) (T x b))@@ -164,7 +164,7 @@ suppressUnusedWarnings = snd ((,) Fmap_0123456789876543210Sym1KindInference ()) type Fmap_0123456789876543210Sym2 :: (~>) a b -> T x a -> T x b- type family Fmap_0123456789876543210Sym2 (a0123456789876543210 :: (~>) a b) (a0123456789876543210 :: T x a) :: T x b where+ type family Fmap_0123456789876543210Sym2 @a @b @x (a0123456789876543210 :: (~>) a b) (a0123456789876543210 :: T x a) :: T x b where Fmap_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = Fmap_0123456789876543210 a0123456789876543210 a0123456789876543210 type family Lambda_0123456789876543210 _z_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 n_0123456789876543210 where Lambda_0123456789876543210 _z_0123456789876543210 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210 n_0123456789876543210 = n_0123456789876543210@@ -299,7 +299,7 @@ type family Lambda_0123456789876543210Sym3 _z_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 n_01234567898765432100123456789876543210 where Lambda_0123456789876543210Sym3 _z_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 n_01234567898765432100123456789876543210 = Lambda_0123456789876543210 _z_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 n_01234567898765432100123456789876543210 type TFHelper_0123456789876543210 :: a -> T x b -> T x a- type family TFHelper_0123456789876543210 (a :: a) (a :: T x b) :: T x a where+ type family TFHelper_0123456789876543210 @a @x @b (a :: a) (a :: T x b) :: T x a where TFHelper_0123456789876543210 _z_0123456789876543210 (MkT1 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210) = Apply (Apply (Apply (Apply MkT1Sym0 (Apply (Apply (Apply (Apply (Apply (Apply Lambda_0123456789876543210Sym0 _z_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210)) (Apply (Apply (Apply (Apply (Apply (Apply Lambda_0123456789876543210Sym0 _z_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210)) (Apply (Apply (<$@#@$) _z_0123456789876543210) a_0123456789876543210)) (Apply (Apply FmapSym0 (Apply (<$@#@$) _z_0123456789876543210)) a_0123456789876543210) TFHelper_0123456789876543210 _z_0123456789876543210 (MkT2 a_0123456789876543210) = Apply MkT2Sym0 (Apply (Apply (Apply Lambda_0123456789876543210Sym0 _z_0123456789876543210) a_0123456789876543210) a_0123456789876543210) type TFHelper_0123456789876543210Sym0 :: (~>) a ((~>) (T x b) (T x a))@@ -321,7 +321,7 @@ suppressUnusedWarnings = snd ((,) TFHelper_0123456789876543210Sym1KindInference ()) type TFHelper_0123456789876543210Sym2 :: a -> T x b -> T x a- type family TFHelper_0123456789876543210Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: T x b) :: T x a where+ type family TFHelper_0123456789876543210Sym2 @a @x @b (a0123456789876543210 :: a) (a0123456789876543210 :: T x b) :: T x a where TFHelper_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = TFHelper_0123456789876543210 a0123456789876543210 a0123456789876543210 instance PFunctor (T x) where type Fmap a a = Apply (Apply Fmap_0123456789876543210Sym0 a) a@@ -407,7 +407,7 @@ type family Lambda_0123456789876543210Sym3 _f_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 n_01234567898765432100123456789876543210 where Lambda_0123456789876543210Sym3 _f_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 n_01234567898765432100123456789876543210 = Lambda_0123456789876543210 _f_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 n_01234567898765432100123456789876543210 type FoldMap_0123456789876543210 :: (~>) a m -> T x a -> m- type family FoldMap_0123456789876543210 (a :: (~>) a m) (a :: T x a) :: m where+ type family FoldMap_0123456789876543210 @a @m @x (a :: (~>) a m) (a :: T x a) :: m where FoldMap_0123456789876543210 _f_0123456789876543210 (MkT1 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210) = Apply (Apply MappendSym0 (Apply (Apply (Apply (Apply (Apply (Apply Lambda_0123456789876543210Sym0 _f_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210)) (Apply (Apply MappendSym0 (Apply _f_0123456789876543210 a_0123456789876543210)) (Apply (Apply MappendSym0 (Apply (Apply FoldMapSym0 _f_0123456789876543210) a_0123456789876543210)) (Apply (Apply FoldMapSym0 (Apply FoldMapSym0 _f_0123456789876543210)) a_0123456789876543210))) FoldMap_0123456789876543210 _f_0123456789876543210 (MkT2 a_0123456789876543210) = Apply (Apply (Apply Lambda_0123456789876543210Sym0 _f_0123456789876543210) a_0123456789876543210) a_0123456789876543210 type FoldMap_0123456789876543210Sym0 :: (~>) ((~>) a m) ((~>) (T x a) m)@@ -429,7 +429,7 @@ suppressUnusedWarnings = snd ((,) FoldMap_0123456789876543210Sym1KindInference ()) type FoldMap_0123456789876543210Sym2 :: (~>) a m -> T x a -> m- type family FoldMap_0123456789876543210Sym2 (a0123456789876543210 :: (~>) a m) (a0123456789876543210 :: T x a) :: m where+ type family FoldMap_0123456789876543210Sym2 @a @m @x (a0123456789876543210 :: (~>) a m) (a0123456789876543210 :: T x a) :: m where FoldMap_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = FoldMap_0123456789876543210 a0123456789876543210 a0123456789876543210 type family Lambda_0123456789876543210 _f_01234567898765432100123456789876543210 _z_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 n1_0123456789876543210 n2_0123456789876543210 where Lambda_0123456789876543210 _f_0123456789876543210 _z_0123456789876543210 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210 n1_0123456789876543210 n2_0123456789876543210 = n2_0123456789876543210@@ -765,7 +765,7 @@ Lambda_0123456789876543210Sym5 _f_01234567898765432100123456789876543210 _z_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 n1_01234567898765432100123456789876543210 n2_01234567898765432100123456789876543210 = Lambda_0123456789876543210 _f_01234567898765432100123456789876543210 _z_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 n1_01234567898765432100123456789876543210 n2_01234567898765432100123456789876543210 type Foldr_0123456789876543210 :: (~>) a ((~>) b b) -> b -> T x a -> b- type family Foldr_0123456789876543210 (a :: (~>) a ((~>) b b)) (a :: b) (a :: T x a) :: b where+ type family Foldr_0123456789876543210 @a @b @x (a :: (~>) a ((~>) b b)) (a :: b) (a :: T x a) :: b where Foldr_0123456789876543210 _f_0123456789876543210 _z_0123456789876543210 (MkT1 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210) = Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply Lambda_0123456789876543210Sym0 _f_0123456789876543210) _z_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210) (Apply (Apply _f_0123456789876543210 a_0123456789876543210) (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply Lambda_0123456789876543210Sym0 _f_0123456789876543210) _z_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210) (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply Lambda_0123456789876543210Sym0 _f_0123456789876543210) _z_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210) _z_0123456789876543210))) Foldr_0123456789876543210 _f_0123456789876543210 _z_0123456789876543210 (MkT2 a_0123456789876543210) = Apply (Apply (Apply (Apply (Apply Lambda_0123456789876543210Sym0 _f_0123456789876543210) _z_0123456789876543210) a_0123456789876543210) a_0123456789876543210) _z_0123456789876543210 type Foldr_0123456789876543210Sym0 :: (~>) ((~>) a ((~>) b b)) ((~>) b ((~>) (T x a) b))@@ -799,14 +799,14 @@ = snd ((,) Foldr_0123456789876543210Sym2KindInference ()) type Foldr_0123456789876543210Sym3 :: (~>) a ((~>) b b) -> b -> T x a -> b- type family Foldr_0123456789876543210Sym3 (a0123456789876543210 :: (~>) a ((~>) b b)) (a0123456789876543210 :: b) (a0123456789876543210 :: T x a) :: b where+ type family Foldr_0123456789876543210Sym3 @a @b @x (a0123456789876543210 :: (~>) a ((~>) b b)) (a0123456789876543210 :: b) (a0123456789876543210 :: T x a) :: b where Foldr_0123456789876543210Sym3 a0123456789876543210 a0123456789876543210 a0123456789876543210 = Foldr_0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 instance PFoldable (T x) where type FoldMap a a = Apply (Apply FoldMap_0123456789876543210Sym0 a) a type Foldr a a a = Apply (Apply (Apply Foldr_0123456789876543210Sym0 a) a) a type Traverse_0123456789876543210 :: (~>) a (f b) -> T x a -> f (T x b)- type family Traverse_0123456789876543210 (a :: (~>) a (f b)) (a :: T x a) :: f (T x b) where+ type family Traverse_0123456789876543210 @a @f @b @x (a :: (~>) a (f b)) (a :: T x a) :: f (T x b) where Traverse_0123456789876543210 _f_0123456789876543210 (MkT1 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210) = Apply (Apply (<*>@#@$) (Apply (Apply (<*>@#@$) (Apply (Apply (Apply LiftA2Sym0 MkT1Sym0) (Apply PureSym0 a_0123456789876543210)) (Apply _f_0123456789876543210 a_0123456789876543210))) (Apply (Apply TraverseSym0 _f_0123456789876543210) a_0123456789876543210))) (Apply (Apply TraverseSym0 (Apply TraverseSym0 _f_0123456789876543210)) a_0123456789876543210) Traverse_0123456789876543210 _f_0123456789876543210 (MkT2 a_0123456789876543210) = Apply (Apply FmapSym0 MkT2Sym0) (Apply PureSym0 a_0123456789876543210) type Traverse_0123456789876543210Sym0 :: (~>) ((~>) a (f b)) ((~>) (T x a) (f (T x b)))@@ -830,13 +830,13 @@ = snd ((,) Traverse_0123456789876543210Sym1KindInference ()) type Traverse_0123456789876543210Sym2 :: (~>) a (f b) -> T x a -> f (T x b)- type family Traverse_0123456789876543210Sym2 (a0123456789876543210 :: (~>) a (f b)) (a0123456789876543210 :: T x a) :: f (T x b) where+ type family Traverse_0123456789876543210Sym2 @a @f @b @x (a0123456789876543210 :: (~>) a (f b)) (a0123456789876543210 :: T x a) :: f (T x b) where Traverse_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = Traverse_0123456789876543210 a0123456789876543210 a0123456789876543210 instance PTraversable (T x) where type Traverse a a = Apply (Apply Traverse_0123456789876543210Sym0 a) a type family Case_0123456789876543210 v_01234567898765432100123456789876543210 t where type Fmap_0123456789876543210 :: (~>) a b -> Empty a -> Empty b- type family Fmap_0123456789876543210 (a :: (~>) a b) (a :: Empty a) :: Empty b where+ type family Fmap_0123456789876543210 @a @b (a :: (~>) a b) (a :: Empty a) :: Empty b where Fmap_0123456789876543210 _ v_0123456789876543210 = Case_0123456789876543210 v_0123456789876543210 v_0123456789876543210 type Fmap_0123456789876543210Sym0 :: (~>) ((~>) a b) ((~>) (Empty a) (Empty b)) data Fmap_0123456789876543210Sym0 :: (~>) ((~>) a b) ((~>) (Empty a) (Empty b))@@ -858,11 +858,11 @@ suppressUnusedWarnings = snd ((,) Fmap_0123456789876543210Sym1KindInference ()) type Fmap_0123456789876543210Sym2 :: (~>) a b -> Empty a -> Empty b- type family Fmap_0123456789876543210Sym2 (a0123456789876543210 :: (~>) a b) (a0123456789876543210 :: Empty a) :: Empty b where+ type family Fmap_0123456789876543210Sym2 @a @b (a0123456789876543210 :: (~>) a b) (a0123456789876543210 :: Empty a) :: Empty b where Fmap_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = Fmap_0123456789876543210 a0123456789876543210 a0123456789876543210 type family Case_0123456789876543210 v_01234567898765432100123456789876543210 t where type TFHelper_0123456789876543210 :: a -> Empty b -> Empty a- type family TFHelper_0123456789876543210 (a :: a) (a :: Empty b) :: Empty a where+ type family TFHelper_0123456789876543210 @a @b (a :: a) (a :: Empty b) :: Empty a where TFHelper_0123456789876543210 _ v_0123456789876543210 = Case_0123456789876543210 v_0123456789876543210 v_0123456789876543210 type TFHelper_0123456789876543210Sym0 :: (~>) a ((~>) (Empty b) (Empty a)) data TFHelper_0123456789876543210Sym0 :: (~>) a ((~>) (Empty b) (Empty a))@@ -884,13 +884,13 @@ suppressUnusedWarnings = snd ((,) TFHelper_0123456789876543210Sym1KindInference ()) type TFHelper_0123456789876543210Sym2 :: a -> Empty b -> Empty a- type family TFHelper_0123456789876543210Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: Empty b) :: Empty a where+ type family TFHelper_0123456789876543210Sym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: Empty b) :: Empty a where TFHelper_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = TFHelper_0123456789876543210 a0123456789876543210 a0123456789876543210 instance PFunctor Empty where type Fmap a a = Apply (Apply Fmap_0123456789876543210Sym0 a) a type (<$) a a = Apply (Apply TFHelper_0123456789876543210Sym0 a) a type FoldMap_0123456789876543210 :: (~>) a m -> Empty a -> m- type family FoldMap_0123456789876543210 (a :: (~>) a m) (a :: Empty a) :: m where+ type family FoldMap_0123456789876543210 @a @m (a :: (~>) a m) (a :: Empty a) :: m where FoldMap_0123456789876543210 _ _ = MemptySym0 type FoldMap_0123456789876543210Sym0 :: (~>) ((~>) a m) ((~>) (Empty a) m) data FoldMap_0123456789876543210Sym0 :: (~>) ((~>) a m) ((~>) (Empty a) m)@@ -912,14 +912,14 @@ suppressUnusedWarnings = snd ((,) FoldMap_0123456789876543210Sym1KindInference ()) type FoldMap_0123456789876543210Sym2 :: (~>) a m -> Empty a -> m- type family FoldMap_0123456789876543210Sym2 (a0123456789876543210 :: (~>) a m) (a0123456789876543210 :: Empty a) :: m where+ type family FoldMap_0123456789876543210Sym2 @a @m (a0123456789876543210 :: (~>) a m) (a0123456789876543210 :: Empty a) :: m where FoldMap_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = FoldMap_0123456789876543210 a0123456789876543210 a0123456789876543210 instance PFoldable Empty where type FoldMap a a = Apply (Apply FoldMap_0123456789876543210Sym0 a) a type family Case_0123456789876543210 v_01234567898765432100123456789876543210 t where type Traverse_0123456789876543210 :: (~>) a (f b) -> Empty a -> f (Empty b)- type family Traverse_0123456789876543210 (a :: (~>) a (f b)) (a :: Empty a) :: f (Empty b) where+ type family Traverse_0123456789876543210 @a @f @b (a :: (~>) a (f b)) (a :: Empty a) :: f (Empty b) where Traverse_0123456789876543210 _ v_0123456789876543210 = Apply PureSym0 (Case_0123456789876543210 v_0123456789876543210 v_0123456789876543210) type Traverse_0123456789876543210Sym0 :: (~>) ((~>) a (f b)) ((~>) (Empty a) (f (Empty b))) data Traverse_0123456789876543210Sym0 :: (~>) ((~>) a (f b)) ((~>) (Empty a) (f (Empty b)))@@ -942,7 +942,7 @@ = snd ((,) Traverse_0123456789876543210Sym1KindInference ()) type Traverse_0123456789876543210Sym2 :: (~>) a (f b) -> Empty a -> f (Empty b)- type family Traverse_0123456789876543210Sym2 (a0123456789876543210 :: (~>) a (f b)) (a0123456789876543210 :: Empty a) :: f (Empty b) where+ type family Traverse_0123456789876543210Sym2 @a @f @b (a0123456789876543210 :: (~>) a (f b)) (a0123456789876543210 :: Empty a) :: f (Empty b) where Traverse_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = Traverse_0123456789876543210 a0123456789876543210 a0123456789876543210 instance PTraversable Empty where type Traverse a a = Apply (Apply Traverse_0123456789876543210Sym0 a) a
tests/compile-and-dump/Singletons/HigherOrder.golden view
@@ -49,7 +49,7 @@ instance SuppressUnusedWarnings LeftSym0 where suppressUnusedWarnings = snd ((,) LeftSym0KindInference ()) type LeftSym1 :: forall a b. a -> Either a b- type family LeftSym1 (a0123456789876543210 :: a) :: Either a b where+ type family LeftSym1 @a @b (a0123456789876543210 :: a) :: Either a b where LeftSym1 a0123456789876543210 = Left a0123456789876543210 type RightSym0 :: forall a b. (~>) b (Either a b) data RightSym0 :: (~>) b (Either a b)@@ -60,7 +60,7 @@ instance SuppressUnusedWarnings RightSym0 where suppressUnusedWarnings = snd ((,) RightSym0KindInference ()) type RightSym1 :: forall a b. b -> Either a b- type family RightSym1 (a0123456789876543210 :: b) :: Either a b where+ type family RightSym1 @a @b (a0123456789876543210 :: b) :: Either a b where RightSym1 a0123456789876543210 = Right a0123456789876543210 type family Case_0123456789876543210 n0123456789876543210 b0123456789876543210 a_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 t where Case_0123456789876543210 n b a_0123456789876543210 a_0123456789876543210 'True = Apply SuccSym0 (Apply SuccSym0 n)@@ -204,7 +204,7 @@ instance SuppressUnusedWarnings (FooSym2 a0123456789876543210 a0123456789876543210) where suppressUnusedWarnings = snd ((,) FooSym2KindInference ()) type FooSym3 :: (~>) ((~>) a b) ((~>) a b) -> (~>) a b -> a -> b- type family FooSym3 (a0123456789876543210 :: (~>) ((~>) a b) ((~>) a b)) (a0123456789876543210 :: (~>) a b) (a0123456789876543210 :: a) :: b where+ type family FooSym3 @a @b (a0123456789876543210 :: (~>) ((~>) a b) ((~>) a b)) (a0123456789876543210 :: (~>) a b) (a0123456789876543210 :: a) :: b where FooSym3 a0123456789876543210 a0123456789876543210 a0123456789876543210 = Foo a0123456789876543210 a0123456789876543210 a0123456789876543210 type ZipWithSym0 :: (~>) ((~>) a ((~>) b c)) ((~>) [a] ((~>) [b] [c])) data ZipWithSym0 :: (~>) ((~>) a ((~>) b c)) ((~>) [a] ((~>) [b] [c]))@@ -231,7 +231,7 @@ instance SuppressUnusedWarnings (ZipWithSym2 a0123456789876543210 a0123456789876543210) where suppressUnusedWarnings = snd ((,) ZipWithSym2KindInference ()) type ZipWithSym3 :: (~>) a ((~>) b c) -> [a] -> [b] -> [c]- type family ZipWithSym3 (a0123456789876543210 :: (~>) a ((~>) b c)) (a0123456789876543210 :: [a]) (a0123456789876543210 :: [b]) :: [c] where+ type family ZipWithSym3 @a @b @c (a0123456789876543210 :: (~>) a ((~>) b c)) (a0123456789876543210 :: [a]) (a0123456789876543210 :: [b]) :: [c] where ZipWithSym3 a0123456789876543210 a0123456789876543210 a0123456789876543210 = ZipWith a0123456789876543210 a0123456789876543210 a0123456789876543210 type LiftMaybeSym0 :: (~>) ((~>) a b) ((~>) (Maybe a) (Maybe b)) data LiftMaybeSym0 :: (~>) ((~>) a b) ((~>) (Maybe a) (Maybe b))@@ -250,7 +250,7 @@ instance SuppressUnusedWarnings (LiftMaybeSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) LiftMaybeSym1KindInference ()) type LiftMaybeSym2 :: (~>) a b -> Maybe a -> Maybe b- type family LiftMaybeSym2 (a0123456789876543210 :: (~>) a b) (a0123456789876543210 :: Maybe a) :: Maybe b where+ type family LiftMaybeSym2 @a @b (a0123456789876543210 :: (~>) a b) (a0123456789876543210 :: Maybe a) :: Maybe b where LiftMaybeSym2 a0123456789876543210 a0123456789876543210 = LiftMaybe a0123456789876543210 a0123456789876543210 type MapSym0 :: (~>) ((~>) a b) ((~>) [a] [b]) data MapSym0 :: (~>) ((~>) a b) ((~>) [a] [b])@@ -269,7 +269,7 @@ instance SuppressUnusedWarnings (MapSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) MapSym1KindInference ()) type MapSym2 :: (~>) a b -> [a] -> [b]- type family MapSym2 (a0123456789876543210 :: (~>) a b) (a0123456789876543210 :: [a]) :: [b] where+ type family MapSym2 @a @b (a0123456789876543210 :: (~>) a b) (a0123456789876543210 :: [a]) :: [b] where MapSym2 a0123456789876543210 a0123456789876543210 = Map a0123456789876543210 a0123456789876543210 type Etad :: [Nat] -> [Bool] -> [Nat] type family Etad (a :: [Nat]) (a :: [Bool]) :: [Nat] where@@ -278,20 +278,20 @@ type family Splunge (a :: [Nat]) (a :: [Bool]) :: [Nat] where Splunge ns bs = Apply (Apply (Apply ZipWithSym0 (Apply (Apply Lambda_0123456789876543210Sym0 ns) bs)) ns) bs type Foo :: (~>) ((~>) a b) ((~>) a b) -> (~>) a b -> a -> b- type family Foo (a :: (~>) ((~>) a b) ((~>) a b)) (a :: (~>) a b) (a :: a) :: b where+ type family Foo @a @b (a :: (~>) ((~>) a b) ((~>) a b)) (a :: (~>) a b) (a :: a) :: b where Foo f g a = Apply (Apply f g) a type ZipWith :: (~>) a ((~>) b c) -> [a] -> [b] -> [c]- type family ZipWith (a :: (~>) a ((~>) b c)) (a :: [a]) (a :: [b]) :: [c] where+ type family ZipWith @a @b @c (a :: (~>) a ((~>) b c)) (a :: [a]) (a :: [b]) :: [c] where ZipWith f ('(:) x xs) ('(:) y ys) = Apply (Apply (:@#@$) (Apply (Apply f x) y)) (Apply (Apply (Apply ZipWithSym0 f) xs) ys) ZipWith _ '[] '[] = NilSym0 ZipWith _ ('(:) _ _) '[] = NilSym0 ZipWith _ '[] ('(:) _ _) = NilSym0 type LiftMaybe :: (~>) a b -> Maybe a -> Maybe b- type family LiftMaybe (a :: (~>) a b) (a :: Maybe a) :: Maybe b where+ type family LiftMaybe @a @b (a :: (~>) a b) (a :: Maybe a) :: Maybe b where LiftMaybe f ('Just x) = Apply JustSym0 (Apply f x) LiftMaybe _ 'Nothing = NothingSym0 type Map :: (~>) a b -> [a] -> [b]- type family Map (a :: (~>) a b) (a :: [a]) :: [b] where+ type family Map @a @b (a :: (~>) a b) (a :: [a]) :: [b] where Map _ '[] = NilSym0 Map f ('(:) h t) = Apply (Apply (:@#@$) (Apply f h)) (Apply (Apply MapSym0 f) t) sEtad ::
tests/compile-and-dump/Singletons/LambdaCase.golden view
@@ -130,7 +130,7 @@ instance SuppressUnusedWarnings (Foo3Sym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) Foo3Sym1KindInference ()) type Foo3Sym2 :: a -> b -> a- type family Foo3Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where+ type family Foo3Sym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where Foo3Sym2 a0123456789876543210 a0123456789876543210 = Foo3 a0123456789876543210 a0123456789876543210 type Foo2Sym0 :: (~>) a ((~>) (Maybe a) a) data Foo2Sym0 :: (~>) a ((~>) (Maybe a) a)@@ -149,7 +149,7 @@ instance SuppressUnusedWarnings (Foo2Sym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) Foo2Sym1KindInference ()) type Foo2Sym2 :: a -> Maybe a -> a- type family Foo2Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: Maybe a) :: a where+ type family Foo2Sym2 @a (a0123456789876543210 :: a) (a0123456789876543210 :: Maybe a) :: a where Foo2Sym2 a0123456789876543210 a0123456789876543210 = Foo2 a0123456789876543210 a0123456789876543210 type Foo1Sym0 :: (~>) a ((~>) (Maybe a) a) data Foo1Sym0 :: (~>) a ((~>) (Maybe a) a)@@ -168,16 +168,16 @@ instance SuppressUnusedWarnings (Foo1Sym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) Foo1Sym1KindInference ()) type Foo1Sym2 :: a -> Maybe a -> a- type family Foo1Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: Maybe a) :: a where+ type family Foo1Sym2 @a (a0123456789876543210 :: a) (a0123456789876543210 :: Maybe a) :: a where Foo1Sym2 a0123456789876543210 a0123456789876543210 = Foo1 a0123456789876543210 a0123456789876543210 type Foo3 :: a -> b -> a- type family Foo3 (a :: a) (a :: b) :: a where+ type family Foo3 @a @b (a :: a) (a :: b) :: a where Foo3 a b = Apply (Apply (Apply Lambda_0123456789876543210Sym0 a) b) (Apply (Apply Tuple2Sym0 a) b) type Foo2 :: a -> Maybe a -> a- type family Foo2 (a :: a) (a :: Maybe a) :: a where+ type family Foo2 @a (a :: a) (a :: Maybe a) :: a where Foo2 d _ = Apply (Apply Lambda_0123456789876543210Sym0 d) (Apply JustSym0 d) type Foo1 :: a -> Maybe a -> a- type family Foo1 (a :: a) (a :: Maybe a) :: a where+ type family Foo1 @a (a :: a) (a :: Maybe a) :: a where Foo1 d x = Apply (Apply (Apply Lambda_0123456789876543210Sym0 d) x) x sFoo3 :: (forall (t :: a) (t :: b).
tests/compile-and-dump/Singletons/Lambdas.golden view
@@ -57,7 +57,7 @@ instance SuppressUnusedWarnings (FooSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) FooSym1KindInference ()) type FooSym2 :: forall a b. a -> b -> Foo a b- type family FooSym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: Foo a b where+ type family FooSym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: Foo a b where FooSym2 a0123456789876543210 a0123456789876543210 = Foo a0123456789876543210 a0123456789876543210 type family Case_0123456789876543210 arg_01234567898765432100123456789876543210 x0123456789876543210 t where Case_0123456789876543210 arg_0123456789876543210 x (Foo a _) = a@@ -377,7 +377,7 @@ instance SuppressUnusedWarnings Foo8Sym0 where suppressUnusedWarnings = snd ((,) Foo8Sym0KindInference ()) type Foo8Sym1 :: Foo a b -> a- type family Foo8Sym1 (a0123456789876543210 :: Foo a b) :: a where+ type family Foo8Sym1 @a @b (a0123456789876543210 :: Foo a b) :: a where Foo8Sym1 a0123456789876543210 = Foo8 a0123456789876543210 type Foo7Sym0 :: (~>) a ((~>) b b) data Foo7Sym0 :: (~>) a ((~>) b b)@@ -396,7 +396,7 @@ instance SuppressUnusedWarnings (Foo7Sym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) Foo7Sym1KindInference ()) type Foo7Sym2 :: a -> b -> b- type family Foo7Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: b where+ type family Foo7Sym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: b where Foo7Sym2 a0123456789876543210 a0123456789876543210 = Foo7 a0123456789876543210 a0123456789876543210 type Foo6Sym0 :: (~>) a ((~>) b a) data Foo6Sym0 :: (~>) a ((~>) b a)@@ -415,7 +415,7 @@ instance SuppressUnusedWarnings (Foo6Sym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) Foo6Sym1KindInference ()) type Foo6Sym2 :: a -> b -> a- type family Foo6Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where+ type family Foo6Sym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where Foo6Sym2 a0123456789876543210 a0123456789876543210 = Foo6 a0123456789876543210 a0123456789876543210 type Foo5Sym0 :: (~>) a ((~>) b b) data Foo5Sym0 :: (~>) a ((~>) b b)@@ -434,7 +434,7 @@ instance SuppressUnusedWarnings (Foo5Sym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) Foo5Sym1KindInference ()) type Foo5Sym2 :: a -> b -> b- type family Foo5Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: b where+ type family Foo5Sym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: b where Foo5Sym2 a0123456789876543210 a0123456789876543210 = Foo5 a0123456789876543210 a0123456789876543210 type Foo4Sym0 :: (~>) a ((~>) b ((~>) c a)) data Foo4Sym0 :: (~>) a ((~>) b ((~>) c a))@@ -461,7 +461,7 @@ instance SuppressUnusedWarnings (Foo4Sym2 a0123456789876543210 a0123456789876543210) where suppressUnusedWarnings = snd ((,) Foo4Sym2KindInference ()) type Foo4Sym3 :: a -> b -> c -> a- type family Foo4Sym3 (a0123456789876543210 :: a) (a0123456789876543210 :: b) (a0123456789876543210 :: c) :: a where+ type family Foo4Sym3 @a @b @c (a0123456789876543210 :: a) (a0123456789876543210 :: b) (a0123456789876543210 :: c) :: a where Foo4Sym3 a0123456789876543210 a0123456789876543210 a0123456789876543210 = Foo4 a0123456789876543210 a0123456789876543210 a0123456789876543210 type Foo3Sym0 :: (~>) a a data Foo3Sym0 :: (~>) a a@@ -472,7 +472,7 @@ instance SuppressUnusedWarnings Foo3Sym0 where suppressUnusedWarnings = snd ((,) Foo3Sym0KindInference ()) type Foo3Sym1 :: a -> a- type family Foo3Sym1 (a0123456789876543210 :: a) :: a where+ type family Foo3Sym1 @a (a0123456789876543210 :: a) :: a where Foo3Sym1 a0123456789876543210 = Foo3 a0123456789876543210 type Foo2Sym0 :: (~>) a ((~>) b a) data Foo2Sym0 :: (~>) a ((~>) b a)@@ -491,7 +491,7 @@ instance SuppressUnusedWarnings (Foo2Sym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) Foo2Sym1KindInference ()) type Foo2Sym2 :: a -> b -> a- type family Foo2Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where+ type family Foo2Sym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where Foo2Sym2 a0123456789876543210 a0123456789876543210 = Foo2 a0123456789876543210 a0123456789876543210 type Foo1Sym0 :: (~>) a ((~>) b a) data Foo1Sym0 :: (~>) a ((~>) b a)@@ -510,7 +510,7 @@ instance SuppressUnusedWarnings (Foo1Sym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) Foo1Sym1KindInference ()) type Foo1Sym2 :: a -> b -> a- type family Foo1Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where+ type family Foo1Sym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where Foo1Sym2 a0123456789876543210 a0123456789876543210 = Foo1 a0123456789876543210 a0123456789876543210 type Foo0Sym0 :: (~>) a ((~>) b a) data Foo0Sym0 :: (~>) a ((~>) b a)@@ -529,34 +529,34 @@ instance SuppressUnusedWarnings (Foo0Sym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) Foo0Sym1KindInference ()) type Foo0Sym2 :: a -> b -> a- type family Foo0Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where+ type family Foo0Sym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where Foo0Sym2 a0123456789876543210 a0123456789876543210 = Foo0 a0123456789876543210 a0123456789876543210 type Foo8 :: Foo a b -> a- type family Foo8 (a :: Foo a b) :: a where+ type family Foo8 @a @b (a :: Foo a b) :: a where Foo8 x = Apply (Apply Lambda_0123456789876543210Sym0 x) x type Foo7 :: a -> b -> b- type family Foo7 (a :: a) (a :: b) :: b where+ type family Foo7 @a @b (a :: a) (a :: b) :: b where Foo7 x y = Apply (Apply (Apply Lambda_0123456789876543210Sym0 x) y) (Apply (Apply Tuple2Sym0 x) y) type Foo6 :: a -> b -> a- type family Foo6 (a :: a) (a :: b) :: a where+ type family Foo6 @a @b (a :: a) (a :: b) :: a where Foo6 a b = Apply (Apply (Apply (Apply Lambda_0123456789876543210Sym0 a) b) a) b type Foo5 :: a -> b -> b- type family Foo5 (a :: a) (a :: b) :: b where+ type family Foo5 @a @b (a :: a) (a :: b) :: b where Foo5 x y = Apply (Apply (Apply Lambda_0123456789876543210Sym0 x) y) y type Foo4 :: a -> b -> c -> a- type family Foo4 (a :: a) (a :: b) (a :: c) :: a where+ type family Foo4 @a @b @c (a :: a) (a :: b) (a :: c) :: a where Foo4 x y z = Apply (Apply (Apply (Apply (Apply Lambda_0123456789876543210Sym0 x) y) z) y) z type Foo3 :: a -> a- type family Foo3 (a :: a) :: a where+ type family Foo3 @a (a :: a) :: a where Foo3 x = Apply (Apply Lambda_0123456789876543210Sym0 x) x type Foo2 :: a -> b -> a- type family Foo2 (a :: a) (a :: b) :: a where+ type family Foo2 @a @b (a :: a) (a :: b) :: a where Foo2 x y = Apply (Apply (Apply Lambda_0123456789876543210Sym0 x) y) y type Foo1 :: a -> b -> a- type family Foo1 (a :: a) (a :: b) :: a where+ type family Foo1 @a @b (a :: a) (a :: b) :: a where Foo1 x a_0123456789876543210 = Apply (Apply (Apply Lambda_0123456789876543210Sym0 x) a_0123456789876543210) a_0123456789876543210 type Foo0 :: a -> b -> a- type family Foo0 (a :: a) (a :: b) :: a where+ type family Foo0 @a @b (a :: a) (a :: b) :: a where Foo0 a_0123456789876543210 a_0123456789876543210 = Apply (Apply (Apply (Apply Lambda_0123456789876543210Sym0 a_0123456789876543210) a_0123456789876543210) a_0123456789876543210) a_0123456789876543210 sFoo8 :: (forall (t :: Foo a b).
tests/compile-and-dump/Singletons/LetStatements.golden view
@@ -589,7 +589,7 @@ instance SuppressUnusedWarnings Foo13_Sym0 where suppressUnusedWarnings = snd ((,) Foo13_Sym0KindInference ()) type Foo13_Sym1 :: a -> a- type family Foo13_Sym1 (a0123456789876543210 :: a) :: a where+ type family Foo13_Sym1 @a (a0123456789876543210 :: a) :: a where Foo13_Sym1 a0123456789876543210 = Foo13_ a0123456789876543210 type Foo13Sym0 :: forall a. (~>) a a data Foo13Sym0 :: (~>) a a@@ -600,7 +600,7 @@ instance SuppressUnusedWarnings Foo13Sym0 where suppressUnusedWarnings = snd ((,) Foo13Sym0KindInference ()) type Foo13Sym1 :: forall a. a -> a- type family Foo13Sym1 (a0123456789876543210 :: a) :: a where+ type family Foo13Sym1 @a (a0123456789876543210 :: a) :: a where Foo13Sym1 a0123456789876543210 = Foo13 a0123456789876543210 type Foo12Sym0 :: (~>) Nat Nat data Foo12Sym0 :: (~>) Nat Nat@@ -730,10 +730,10 @@ type family Foo14 (a :: Nat) :: (Nat, Nat) where Foo14 x = Apply (Apply Tuple2Sym0 (Let0123456789876543210ZSym1 x)) (Let0123456789876543210YSym1 x) type Foo13_ :: a -> a- type family Foo13_ (a :: a) :: a where+ type family Foo13_ @a (a :: a) :: a where Foo13_ y = y type Foo13 :: forall a. a -> a- type family Foo13 (a :: a) :: a where+ type family Foo13 @a (a :: a) :: a where Foo13 @a (x :: a) = Apply Foo13_Sym0 (Let0123456789876543210BarSym2 a x) type Foo12 :: Nat -> Nat type family Foo12 (a :: Nat) :: Nat where
tests/compile-and-dump/Singletons/Maybe.golden view
@@ -8,7 +8,7 @@ = Nothing | Just a deriving (Eq, Show) type NothingSym0 :: forall a. Maybe a- type family NothingSym0 :: Maybe a where+ type family NothingSym0 @a :: Maybe a where NothingSym0 = Nothing type JustSym0 :: forall a. (~>) a (Maybe a) data JustSym0 :: (~>) a (Maybe a)@@ -19,10 +19,10 @@ instance SuppressUnusedWarnings JustSym0 where suppressUnusedWarnings = snd ((,) JustSym0KindInference ()) type JustSym1 :: forall a. a -> Maybe a- type family JustSym1 (a0123456789876543210 :: a) :: Maybe a where+ type family JustSym1 @a (a0123456789876543210 :: a) :: Maybe a where JustSym1 a0123456789876543210 = Just a0123456789876543210 type TFHelper_0123456789876543210 :: Maybe a -> Maybe a -> Bool- type family TFHelper_0123456789876543210 (a :: Maybe a) (a :: Maybe a) :: Bool where+ type family TFHelper_0123456789876543210 @a (a :: Maybe a) (a :: Maybe a) :: Bool where TFHelper_0123456789876543210 Nothing Nothing = TrueSym0 TFHelper_0123456789876543210 Nothing (Just _) = FalseSym0 TFHelper_0123456789876543210 (Just _) Nothing = FalseSym0@@ -47,13 +47,13 @@ suppressUnusedWarnings = snd ((,) TFHelper_0123456789876543210Sym1KindInference ()) type TFHelper_0123456789876543210Sym2 :: Maybe a -> Maybe a -> Bool- type family TFHelper_0123456789876543210Sym2 (a0123456789876543210 :: Maybe a) (a0123456789876543210 :: Maybe a) :: Bool where+ type family TFHelper_0123456789876543210Sym2 @a (a0123456789876543210 :: Maybe a) (a0123456789876543210 :: Maybe a) :: Bool where TFHelper_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = TFHelper_0123456789876543210 a0123456789876543210 a0123456789876543210 instance PEq (Maybe a) where type (==) a a = Apply (Apply TFHelper_0123456789876543210Sym0 a) a type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural -> Maybe a -> GHC.Types.Symbol -> GHC.Types.Symbol- type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: Maybe a) (a :: GHC.Types.Symbol) :: GHC.Types.Symbol where+ type family ShowsPrec_0123456789876543210 @a (a :: GHC.Num.Natural.Natural) (a :: Maybe a) (a :: GHC.Types.Symbol) :: GHC.Types.Symbol where ShowsPrec_0123456789876543210 _ Nothing a_0123456789876543210 = Apply (Apply ShowStringSym0 "Nothing") a_0123456789876543210 ShowsPrec_0123456789876543210 p_0123456789876543210 (Just arg_0123456789876543210) a_0123456789876543210 = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "Just ")) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))) a_0123456789876543210 type ShowsPrec_0123456789876543210Sym0 :: (~>) GHC.Num.Natural.Natural ((~>) (Maybe a) ((~>) GHC.Types.Symbol GHC.Types.Symbol))@@ -87,7 +87,7 @@ = snd ((,) ShowsPrec_0123456789876543210Sym2KindInference ()) type ShowsPrec_0123456789876543210Sym3 :: GHC.Num.Natural.Natural -> Maybe a -> GHC.Types.Symbol -> GHC.Types.Symbol- type family ShowsPrec_0123456789876543210Sym3 (a0123456789876543210 :: GHC.Num.Natural.Natural) (a0123456789876543210 :: Maybe a) (a0123456789876543210 :: GHC.Types.Symbol) :: GHC.Types.Symbol where+ type family ShowsPrec_0123456789876543210Sym3 @a (a0123456789876543210 :: GHC.Num.Natural.Natural) (a0123456789876543210 :: Maybe a) (a0123456789876543210 :: GHC.Types.Symbol) :: GHC.Types.Symbol where ShowsPrec_0123456789876543210Sym3 a0123456789876543210 a0123456789876543210 a0123456789876543210 = ShowsPrec_0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 instance PShow (Maybe a) where type ShowsPrec a a a = Apply (Apply (Apply ShowsPrec_0123456789876543210Sym0 a) a) a@@ -169,12 +169,14 @@ instance Eq (SMaybe (z :: Maybe a)) where (==) _ _ = True instance SDecide a =>- Data.Type.Equality.TestEquality (SMaybe :: Maybe a -> Type) where- Data.Type.Equality.testEquality+ GHC.Internal.Data.Type.Equality.TestEquality (SMaybe :: Maybe a+ -> Type) where+ GHC.Internal.Data.Type.Equality.testEquality = Data.Singletons.Decide.decideEquality instance SDecide a =>- Data.Type.Coercion.TestCoercion (SMaybe :: Maybe a -> Type) where- Data.Type.Coercion.testCoercion+ GHC.Internal.Data.Type.Coercion.TestCoercion (SMaybe :: Maybe a+ -> Type) where+ GHC.Internal.Data.Type.Coercion.testCoercion = Data.Singletons.Decide.decideCoercion deriving instance Data.Singletons.ShowSing.ShowSing a => Show (SMaybe (z :: Maybe a))
tests/compile-and-dump/Singletons/Nat.golden view
@@ -304,12 +304,14 @@ instance Eq (SNat (z :: Nat)) where (==) _ _ = True instance SDecide Nat =>- Data.Type.Equality.TestEquality (SNat :: Nat -> Type) where- Data.Type.Equality.testEquality+ GHC.Internal.Data.Type.Equality.TestEquality (SNat :: Nat+ -> Type) where+ GHC.Internal.Data.Type.Equality.testEquality = Data.Singletons.Decide.decideEquality instance SDecide Nat =>- Data.Type.Coercion.TestCoercion (SNat :: Nat -> Type) where- Data.Type.Coercion.testCoercion+ GHC.Internal.Data.Type.Coercion.TestCoercion (SNat :: Nat+ -> Type) where+ GHC.Internal.Data.Type.Coercion.testCoercion = Data.Singletons.Decide.decideCoercion instance Ord (SNat (z :: Nat)) where compare _ _ = EQ
tests/compile-and-dump/Singletons/OrdDeriving.golden view
@@ -75,7 +75,7 @@ instance SuppressUnusedWarnings (ASym3 a0123456789876543210 a0123456789876543210 a0123456789876543210) where suppressUnusedWarnings = snd ((,) ASym3KindInference ()) type ASym4 :: forall a b c d. a -> b -> c -> d -> Foo a b c d- type family ASym4 (a0123456789876543210 :: a) (a0123456789876543210 :: b) (a0123456789876543210 :: c) (a0123456789876543210 :: d) :: Foo a b c d where+ type family ASym4 @a @b @c @d (a0123456789876543210 :: a) (a0123456789876543210 :: b) (a0123456789876543210 :: c) (a0123456789876543210 :: d) :: Foo a b c d where ASym4 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 = A a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 type BSym0 :: forall a b@@ -115,7 +115,7 @@ instance SuppressUnusedWarnings (BSym3 a0123456789876543210 a0123456789876543210 a0123456789876543210) where suppressUnusedWarnings = snd ((,) BSym3KindInference ()) type BSym4 :: forall a b c d. a -> b -> c -> d -> Foo a b c d- type family BSym4 (a0123456789876543210 :: a) (a0123456789876543210 :: b) (a0123456789876543210 :: c) (a0123456789876543210 :: d) :: Foo a b c d where+ type family BSym4 @a @b @c @d (a0123456789876543210 :: a) (a0123456789876543210 :: b) (a0123456789876543210 :: c) (a0123456789876543210 :: d) :: Foo a b c d where BSym4 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 = B a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 type CSym0 :: forall a b@@ -155,7 +155,7 @@ instance SuppressUnusedWarnings (CSym3 a0123456789876543210 a0123456789876543210 a0123456789876543210) where suppressUnusedWarnings = snd ((,) CSym3KindInference ()) type CSym4 :: forall a b c d. a -> b -> c -> d -> Foo a b c d- type family CSym4 (a0123456789876543210 :: a) (a0123456789876543210 :: b) (a0123456789876543210 :: c) (a0123456789876543210 :: d) :: Foo a b c d where+ type family CSym4 @a @b @c @d (a0123456789876543210 :: a) (a0123456789876543210 :: b) (a0123456789876543210 :: c) (a0123456789876543210 :: d) :: Foo a b c d where CSym4 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 = C a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 type DSym0 :: forall a b@@ -195,7 +195,7 @@ instance SuppressUnusedWarnings (DSym3 a0123456789876543210 a0123456789876543210 a0123456789876543210) where suppressUnusedWarnings = snd ((,) DSym3KindInference ()) type DSym4 :: forall a b c d. a -> b -> c -> d -> Foo a b c d- type family DSym4 (a0123456789876543210 :: a) (a0123456789876543210 :: b) (a0123456789876543210 :: c) (a0123456789876543210 :: d) :: Foo a b c d where+ type family DSym4 @a @b @c @d (a0123456789876543210 :: a) (a0123456789876543210 :: b) (a0123456789876543210 :: c) (a0123456789876543210 :: d) :: Foo a b c d where DSym4 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 = D a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 type ESym0 :: forall a b@@ -235,7 +235,7 @@ instance SuppressUnusedWarnings (ESym3 a0123456789876543210 a0123456789876543210 a0123456789876543210) where suppressUnusedWarnings = snd ((,) ESym3KindInference ()) type ESym4 :: forall a b c d. a -> b -> c -> d -> Foo a b c d- type family ESym4 (a0123456789876543210 :: a) (a0123456789876543210 :: b) (a0123456789876543210 :: c) (a0123456789876543210 :: d) :: Foo a b c d where+ type family ESym4 @a @b @c @d (a0123456789876543210 :: a) (a0123456789876543210 :: b) (a0123456789876543210 :: c) (a0123456789876543210 :: d) :: Foo a b c d where ESym4 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 = E a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 type FSym0 :: forall a b@@ -275,7 +275,7 @@ instance SuppressUnusedWarnings (FSym3 a0123456789876543210 a0123456789876543210 a0123456789876543210) where suppressUnusedWarnings = snd ((,) FSym3KindInference ()) type FSym4 :: forall a b c d. a -> b -> c -> d -> Foo a b c d- type family FSym4 (a0123456789876543210 :: a) (a0123456789876543210 :: b) (a0123456789876543210 :: c) (a0123456789876543210 :: d) :: Foo a b c d where+ type family FSym4 @a @b @c @d (a0123456789876543210 :: a) (a0123456789876543210 :: b) (a0123456789876543210 :: c) (a0123456789876543210 :: d) :: Foo a b c d where FSym4 a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 = F a0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 type TFHelper_0123456789876543210 :: Nat -> Nat -> Bool type family TFHelper_0123456789876543210 (a :: Nat) (a :: Nat) :: Bool where@@ -337,7 +337,7 @@ type Compare a a = Apply (Apply Compare_0123456789876543210Sym0 a) a type TFHelper_0123456789876543210 :: Foo a b c d -> Foo a b c d -> Bool- type family TFHelper_0123456789876543210 (a :: Foo a b c d) (a :: Foo a b c d) :: Bool where+ type family TFHelper_0123456789876543210 @a @b @c @d (a :: Foo a b c d) (a :: Foo a b c d) :: Bool where TFHelper_0123456789876543210 (A a_0123456789876543210 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210) (A b_0123456789876543210 b_0123456789876543210 b_0123456789876543210 b_0123456789876543210) = Apply (Apply (&&@#@$) (Apply (Apply (==@#@$) a_0123456789876543210) b_0123456789876543210)) (Apply (Apply (&&@#@$) (Apply (Apply (==@#@$) a_0123456789876543210) b_0123456789876543210)) (Apply (Apply (&&@#@$) (Apply (Apply (==@#@$) a_0123456789876543210) b_0123456789876543210)) (Apply (Apply (==@#@$) a_0123456789876543210) b_0123456789876543210))) TFHelper_0123456789876543210 (A _ _ _ _) (B _ _ _ _) = FalseSym0 TFHelper_0123456789876543210 (A _ _ _ _) (C _ _ _ _) = FalseSym0@@ -395,13 +395,13 @@ = snd ((,) TFHelper_0123456789876543210Sym1KindInference ()) type TFHelper_0123456789876543210Sym2 :: Foo a b c d -> Foo a b c d -> Bool- type family TFHelper_0123456789876543210Sym2 (a0123456789876543210 :: Foo a b c d) (a0123456789876543210 :: Foo a b c d) :: Bool where+ type family TFHelper_0123456789876543210Sym2 @a @b @c @d (a0123456789876543210 :: Foo a b c d) (a0123456789876543210 :: Foo a b c d) :: Bool where TFHelper_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = TFHelper_0123456789876543210 a0123456789876543210 a0123456789876543210 instance PEq (Foo a b c d) where type (==) a a = Apply (Apply TFHelper_0123456789876543210Sym0 a) a type Compare_0123456789876543210 :: Foo a b c d -> Foo a b c d -> Ordering- type family Compare_0123456789876543210 (a :: Foo a b c d) (a :: Foo a b c d) :: Ordering where+ type family Compare_0123456789876543210 @a @b @c @d (a :: Foo a b c d) (a :: Foo a b c d) :: Ordering where Compare_0123456789876543210 (A a_0123456789876543210 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210) (A b_0123456789876543210 b_0123456789876543210 b_0123456789876543210 b_0123456789876543210) = Apply (Apply (Apply FoldlSym0 (<>@#@$)) EQSym0) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) NilSym0)))) Compare_0123456789876543210 (B a_0123456789876543210 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210) (B b_0123456789876543210 b_0123456789876543210 b_0123456789876543210 b_0123456789876543210) = Apply (Apply (Apply FoldlSym0 (<>@#@$)) EQSym0) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) NilSym0)))) Compare_0123456789876543210 (C a_0123456789876543210 a_0123456789876543210 a_0123456789876543210 a_0123456789876543210) (C b_0123456789876543210 b_0123456789876543210 b_0123456789876543210 b_0123456789876543210) = Apply (Apply (Apply FoldlSym0 (<>@#@$)) EQSym0) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) NilSym0))))@@ -459,7 +459,7 @@ = snd ((,) Compare_0123456789876543210Sym1KindInference ()) type Compare_0123456789876543210Sym2 :: Foo a b c d -> Foo a b c d -> Ordering- type family Compare_0123456789876543210Sym2 (a0123456789876543210 :: Foo a b c d) (a0123456789876543210 :: Foo a b c d) :: Ordering where+ type family Compare_0123456789876543210Sym2 @a @b @c @d (a0123456789876543210 :: Foo a b c d) (a0123456789876543210 :: Foo a b c d) :: Ordering where Compare_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = Compare_0123456789876543210 a0123456789876543210 a0123456789876543210 instance POrd (Foo a b c d) where type Compare a a = Apply (Apply Compare_0123456789876543210Sym0 a) a@@ -1119,12 +1119,14 @@ instance Eq (SNat (z :: Nat)) where (==) _ _ = True instance SDecide Nat =>- Data.Type.Equality.TestEquality (SNat :: Nat -> Type) where- Data.Type.Equality.testEquality+ GHC.Internal.Data.Type.Equality.TestEquality (SNat :: Nat+ -> Type) where+ GHC.Internal.Data.Type.Equality.testEquality = Data.Singletons.Decide.decideEquality instance SDecide Nat =>- Data.Type.Coercion.TestCoercion (SNat :: Nat -> Type) where- Data.Type.Coercion.testCoercion+ GHC.Internal.Data.Type.Coercion.TestCoercion (SNat :: Nat+ -> Type) where+ GHC.Internal.Data.Type.Coercion.testCoercion = Data.Singletons.Decide.decideCoercion instance (SDecide a, SDecide b, SDecide c, SDecide d) => SDecide (Foo a b c d) where@@ -1233,12 +1235,14 @@ instance Eq (SFoo (z :: Foo a b c d)) where (==) _ _ = True instance (SDecide a, SDecide b, SDecide c, SDecide d) =>- Data.Type.Equality.TestEquality (SFoo :: Foo a b c d -> Type) where- Data.Type.Equality.testEquality+ GHC.Internal.Data.Type.Equality.TestEquality (SFoo :: Foo a b c d+ -> Type) where+ GHC.Internal.Data.Type.Equality.testEquality = Data.Singletons.Decide.decideEquality instance (SDecide a, SDecide b, SDecide c, SDecide d) =>- Data.Type.Coercion.TestCoercion (SFoo :: Foo a b c d -> Type) where- Data.Type.Coercion.testCoercion+ GHC.Internal.Data.Type.Coercion.TestCoercion (SFoo :: Foo a b c d+ -> Type) where+ GHC.Internal.Data.Type.Coercion.testCoercion = Data.Singletons.Decide.decideCoercion instance Ord (SNat (z :: Nat)) where compare _ _ = EQ
tests/compile-and-dump/Singletons/PatternMatching.golden view
@@ -33,7 +33,7 @@ instance SuppressUnusedWarnings (PairSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) PairSym1KindInference ()) type PairSym2 :: forall a b. a -> b -> Pair a b- type family PairSym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: Pair a b where+ type family PairSym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: Pair a b where PairSym2 a0123456789876543210 a0123456789876543210 = Pair a0123456789876543210 a0123456789876543210 type family AListSym0 where AListSym0 = AList@@ -53,7 +53,7 @@ Pr = Apply (Apply PairSym0 (Apply SuccSym0 ZeroSym0)) (Apply (Apply (:@#@$) ZeroSym0) NilSym0) type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural -> Pair a b -> Symbol -> Symbol- type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: Pair a b) (a :: Symbol) :: Symbol where+ type family ShowsPrec_0123456789876543210 @a @b (a :: GHC.Num.Natural.Natural) (a :: Pair a b) (a :: Symbol) :: Symbol where ShowsPrec_0123456789876543210 p_0123456789876543210 (Pair arg_0123456789876543210 arg_0123456789876543210) a_0123456789876543210 = 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 ShowsPrec_0123456789876543210Sym0 :: (~>) GHC.Num.Natural.Natural ((~>) (Pair a b) ((~>) Symbol Symbol)) data ShowsPrec_0123456789876543210Sym0 :: (~>) GHC.Num.Natural.Natural ((~>) (Pair a b) ((~>) Symbol Symbol))@@ -86,7 +86,7 @@ = snd ((,) ShowsPrec_0123456789876543210Sym2KindInference ()) type ShowsPrec_0123456789876543210Sym3 :: GHC.Num.Natural.Natural -> Pair a b -> Symbol -> Symbol- type family ShowsPrec_0123456789876543210Sym3 (a0123456789876543210 :: GHC.Num.Natural.Natural) (a0123456789876543210 :: Pair a b) (a0123456789876543210 :: Symbol) :: Symbol where+ type family ShowsPrec_0123456789876543210Sym3 @a @b (a0123456789876543210 :: GHC.Num.Natural.Natural) (a0123456789876543210 :: Pair a b) (a0123456789876543210 :: Symbol) :: Symbol where ShowsPrec_0123456789876543210Sym3 a0123456789876543210 a0123456789876543210 a0123456789876543210 = ShowsPrec_0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 instance PShow (Pair a b) where type ShowsPrec a a a = Apply (Apply (Apply ShowsPrec_0123456789876543210Sym0 a) a) a@@ -368,7 +368,7 @@ instance SuppressUnusedWarnings SillySym0 where suppressUnusedWarnings = snd ((,) SillySym0KindInference ()) type SillySym1 :: a -> ()- type family SillySym1 (a0123456789876543210 :: a) :: () where+ type family SillySym1 @a (a0123456789876543210 :: a) :: () where SillySym1 a0123456789876543210 = Silly a0123456789876543210 type Foo2Sym0 :: (~>) (a, b) a data Foo2Sym0 :: (~>) (a, b) a@@ -379,7 +379,8 @@ instance SuppressUnusedWarnings Foo2Sym0 where suppressUnusedWarnings = snd ((,) Foo2Sym0KindInference ()) type Foo2Sym1 :: (a, b) -> a- type family Foo2Sym1 (a0123456789876543210 :: (a, b)) :: a where+ type family Foo2Sym1 @a @b (a0123456789876543210 :: (a,+ b)) :: a where Foo2Sym1 a0123456789876543210 = Foo2 a0123456789876543210 type Foo1Sym0 :: (~>) (a, b) a data Foo1Sym0 :: (~>) (a, b) a@@ -390,7 +391,8 @@ instance SuppressUnusedWarnings Foo1Sym0 where suppressUnusedWarnings = snd ((,) Foo1Sym0KindInference ()) type Foo1Sym1 :: (a, b) -> a- type family Foo1Sym1 (a0123456789876543210 :: (a, b)) :: a where+ type family Foo1Sym1 @a @b (a0123456789876543210 :: (a,+ b)) :: a where Foo1Sym1 a0123456789876543210 = Foo1 a0123456789876543210 type family BlimySym0 where BlimySym0 = Blimy@@ -423,14 +425,14 @@ type family X_0123456789876543210Sym0 where X_0123456789876543210Sym0 = X_0123456789876543210 type Silly :: a -> ()- type family Silly (a :: a) :: () where+ type family Silly @a (a :: a) :: () where Silly x = Case_0123456789876543210 x x type Foo2 :: (a, b) -> a- type family Foo2 (a :: (a, b)) :: a where+ type family Foo2 @a @b (a :: (a, b)) :: a where Foo2 '(x, y) = Case_0123456789876543210 x y (Let0123456789876543210TSym2 x y) type Foo1 :: (a, b) -> a- type family Foo1 (a :: (a, b)) :: a where+ type family Foo1 @a @b (a :: (a, b)) :: a where Foo1 '(x, y) = Apply (Apply (Apply Lambda_0123456789876543210Sym0 x) y) y type family Blimy where
tests/compile-and-dump/Singletons/PolyKinds.golden view
@@ -14,7 +14,7 @@ instance SuppressUnusedWarnings FffSym0 where suppressUnusedWarnings = snd ((,) FffSym0KindInference ()) type FffSym1 :: forall k (a :: k). Proxy (a :: k) -> ()- type family FffSym1 (a0123456789876543210 :: Proxy (a :: k)) :: () where+ type family FffSym1 @k @(a :: k) (a0123456789876543210 :: Proxy (a :: k)) :: () where FffSym1 a0123456789876543210 = Fff a0123456789876543210 class PCls (a :: k) where type family Fff (arg :: Proxy (a :: k)) :: ()
tests/compile-and-dump/Singletons/PolyKindsApp.golden view
@@ -7,7 +7,8 @@ fff :: (a :: k -> Type) (b :: k) type FffSym0 :: forall k (a :: k -> Type) (b :: k). (a :: k -> Type) (b :: k)- type family FffSym0 :: (a :: k -> Type) (b :: k) where+ type family FffSym0 @k @(a :: k -> Type) @(b :: k) :: (a :: k+ -> Type) (b :: k) where FffSym0 = Fff class PCls (a :: k -> Type) where type family Fff :: (a :: k -> Type) (b :: k)
tests/compile-and-dump/Singletons/Records.golden view
@@ -20,7 +20,7 @@ instance SuppressUnusedWarnings (MkRecordSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) MkRecordSym1KindInference ()) type MkRecordSym2 :: forall a. a -> Bool -> Record a- type family MkRecordSym2 (a0123456789876543210 :: a) (a0123456789876543210 :: Bool) :: Record a where+ type family MkRecordSym2 @a (a0123456789876543210 :: a) (a0123456789876543210 :: Bool) :: Record a where MkRecordSym2 a0123456789876543210 a0123456789876543210 = MkRecord a0123456789876543210 a0123456789876543210 type Field2Sym0 :: forall a. (~>) (Record a) Bool data Field2Sym0 :: (~>) (Record a) Bool@@ -31,7 +31,7 @@ instance SuppressUnusedWarnings Field2Sym0 where suppressUnusedWarnings = snd ((,) Field2Sym0KindInference ()) type Field2Sym1 :: forall a. Record a -> Bool- type family Field2Sym1 (a0123456789876543210 :: Record a) :: Bool where+ type family Field2Sym1 @a (a0123456789876543210 :: Record a) :: Bool where Field2Sym1 a0123456789876543210 = Field2 a0123456789876543210 type Field1Sym0 :: forall a. (~>) (Record a) a data Field1Sym0 :: (~>) (Record a) a@@ -42,13 +42,13 @@ instance SuppressUnusedWarnings Field1Sym0 where suppressUnusedWarnings = snd ((,) Field1Sym0KindInference ()) type Field1Sym1 :: forall a. Record a -> a- type family Field1Sym1 (a0123456789876543210 :: Record a) :: a where+ type family Field1Sym1 @a (a0123456789876543210 :: Record a) :: a where Field1Sym1 a0123456789876543210 = Field1 a0123456789876543210 type Field2 :: forall a. Record a -> Bool- type family Field2 (a :: Record a) :: Bool where+ type family Field2 @a (a :: Record a) :: Bool where Field2 @a (MkRecord _ field :: Record a) = field type Field1 :: forall a. Record a -> a- type family Field1 (a :: Record a) :: a where+ type family Field1 @a (a :: Record a) :: a where Field1 @a (MkRecord field _ :: Record a) = field sField2 :: forall a (t :: Record a). Sing t
tests/compile-and-dump/Singletons/ReturnFunc.golden view
@@ -30,7 +30,7 @@ instance SuppressUnusedWarnings (IdFooSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) IdFooSym1KindInference ()) type IdFooSym2 :: c -> a -> a- type family IdFooSym2 (a0123456789876543210 :: c) (a0123456789876543210 :: a) :: a where+ type family IdFooSym2 @c @a (a0123456789876543210 :: c) (a0123456789876543210 :: a) :: a where IdFooSym2 a0123456789876543210 a0123456789876543210 = IdFoo a0123456789876543210 a0123456789876543210 type IdSym0 :: (~>) a a data IdSym0 :: (~>) a a@@ -41,7 +41,7 @@ instance SuppressUnusedWarnings IdSym0 where suppressUnusedWarnings = snd ((,) IdSym0KindInference ()) type IdSym1 :: a -> a- type family IdSym1 (a0123456789876543210 :: a) :: a where+ type family IdSym1 @a (a0123456789876543210 :: a) :: a where IdSym1 a0123456789876543210 = Id a0123456789876543210 type ReturnFuncSym0 :: (~>) Nat ((~>) Nat Nat) data ReturnFuncSym0 :: (~>) Nat ((~>) Nat Nat)@@ -63,10 +63,10 @@ type family ReturnFuncSym2 (a0123456789876543210 :: Nat) (a0123456789876543210 :: Nat) :: Nat where ReturnFuncSym2 a0123456789876543210 a0123456789876543210 = ReturnFunc a0123456789876543210 a0123456789876543210 type IdFoo :: c -> a -> a- type family IdFoo (a :: c) (a :: a) :: a where+ type family IdFoo @c @a (a :: c) (a :: a) :: a where IdFoo _ a_0123456789876543210 = Apply IdSym0 a_0123456789876543210 type Id :: a -> a- type family Id (a :: a) :: a where+ type family Id @a (a :: a) :: a where Id x = x type ReturnFunc :: Nat -> Nat -> Nat type family ReturnFunc (a :: Nat) (a :: Nat) :: Nat where
tests/compile-and-dump/Singletons/ShowDeriving.golden view
@@ -44,7 +44,7 @@ instance SuppressUnusedWarnings (MkFoo2aSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) MkFoo2aSym1KindInference ()) type MkFoo2aSym2 :: forall a. a -> a -> Foo2 a- type family MkFoo2aSym2 (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Foo2 a where+ type family MkFoo2aSym2 @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Foo2 a where MkFoo2aSym2 a0123456789876543210 a0123456789876543210 = MkFoo2a a0123456789876543210 a0123456789876543210 type MkFoo2bSym0 :: forall a. (~>) a ((~>) a (Foo2 a)) data MkFoo2bSym0 :: (~>) a ((~>) a (Foo2 a))@@ -65,7 +65,7 @@ suppressUnusedWarnings = snd ((,) MkFoo2bSym1KindInference ()) infixl 5 `MkFoo2bSym1` type MkFoo2bSym2 :: forall a. a -> a -> Foo2 a- type family MkFoo2bSym2 (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Foo2 a where+ type family MkFoo2bSym2 @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Foo2 a where MkFoo2bSym2 a0123456789876543210 a0123456789876543210 = MkFoo2b a0123456789876543210 a0123456789876543210 infixl 5 `MkFoo2bSym2` type (:*:@#@$) :: forall a. (~>) a ((~>) a (Foo2 a))@@ -87,7 +87,7 @@ suppressUnusedWarnings = snd ((,) (::*:@#@$$###) ()) infixl 5 :*:@#@$$ type (:*:@#@$$$) :: forall a. a -> a -> Foo2 a- type family (:*:@#@$$$) (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Foo2 a where+ type family (:*:@#@$$$) @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Foo2 a where (:*:@#@$$$) a0123456789876543210 a0123456789876543210 = (:*:) a0123456789876543210 a0123456789876543210 infixl 5 :*:@#@$$$ type (:&:@#@$) :: forall a. (~>) a ((~>) a (Foo2 a))@@ -109,7 +109,7 @@ suppressUnusedWarnings = snd ((,) (::&:@#@$$###) ()) infixl 5 :&:@#@$$ type (:&:@#@$$$) :: forall a. a -> a -> Foo2 a- type family (:&:@#@$$$) (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Foo2 a where+ type family (:&:@#@$$$) @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Foo2 a where (:&:@#@$$$) a0123456789876543210 a0123456789876543210 = (:&:) a0123456789876543210 a0123456789876543210 infixl 5 :&:@#@$$$ type MkFoo3Sym0 :: (~>) Bool ((~>) Bool Foo3)@@ -200,7 +200,7 @@ type ShowsPrec a a a = Apply (Apply (Apply ShowsPrec_0123456789876543210Sym0 a) a) a type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural -> Foo2 a -> Symbol -> Symbol- type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: Foo2 a) (a :: Symbol) :: Symbol where+ type family ShowsPrec_0123456789876543210 @a (a :: GHC.Num.Natural.Natural) (a :: Foo2 a) (a :: Symbol) :: Symbol where ShowsPrec_0123456789876543210 p_0123456789876543210 (MkFoo2a arg_0123456789876543210 arg_0123456789876543210) a_0123456789876543210 = 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 p_0123456789876543210 (MkFoo2b argL_0123456789876543210 argR_0123456789876543210) a_0123456789876543210 = 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 p_0123456789876543210 ((:*:) arg_0123456789876543210 arg_0123456789876543210) a_0123456789876543210 = 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@@ -236,7 +236,7 @@ = snd ((,) ShowsPrec_0123456789876543210Sym2KindInference ()) type ShowsPrec_0123456789876543210Sym3 :: GHC.Num.Natural.Natural -> Foo2 a -> Symbol -> Symbol- type family ShowsPrec_0123456789876543210Sym3 (a0123456789876543210 :: GHC.Num.Natural.Natural) (a0123456789876543210 :: Foo2 a) (a0123456789876543210 :: Symbol) :: Symbol where+ type family ShowsPrec_0123456789876543210Sym3 @a (a0123456789876543210 :: GHC.Num.Natural.Natural) (a0123456789876543210 :: Foo2 a) (a0123456789876543210 :: Symbol) :: Symbol where ShowsPrec_0123456789876543210Sym3 a0123456789876543210 a0123456789876543210 a0123456789876543210 = ShowsPrec_0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 instance PShow (Foo2 a) where type ShowsPrec a a a = Apply (Apply (Apply ShowsPrec_0123456789876543210Sym0 a) a) a
tests/compile-and-dump/Singletons/StandaloneDeriving.golden view
@@ -44,7 +44,7 @@ suppressUnusedWarnings = snd ((,) (::*:@#@$$###) ()) infixl 6 :*:@#@$$ type (:*:@#@$$$) :: forall a b. a -> b -> T a b- type family (:*:@#@$$$) (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: T a b where+ type family (:*:@#@$$$) @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: T a b where (:*:@#@$$$) a0123456789876543210 a0123456789876543210 = (:*:) a0123456789876543210 a0123456789876543210 infixl 6 :*:@#@$$$ type S1Sym0 :: S@@ -54,7 +54,7 @@ type family S2Sym0 :: S where S2Sym0 = S2 type TFHelper_0123456789876543210 :: T a () -> T a () -> Bool- type family TFHelper_0123456789876543210 (a :: T a ()) (a :: T a ()) :: Bool where+ type family TFHelper_0123456789876543210 @a (a :: T a ()) (a :: T a ()) :: Bool where TFHelper_0123456789876543210 ((:*:) a_0123456789876543210 a_0123456789876543210) ((:*:) b_0123456789876543210 b_0123456789876543210) = Apply (Apply (&&@#@$) (Apply (Apply (==@#@$) a_0123456789876543210) b_0123456789876543210)) (Apply (Apply (==@#@$) a_0123456789876543210) b_0123456789876543210) type TFHelper_0123456789876543210Sym0 :: (~>) (T a ()) ((~>) (T a ()) Bool) data TFHelper_0123456789876543210Sym0 :: (~>) (T a ()) ((~>) (T a ()) Bool)@@ -76,12 +76,12 @@ suppressUnusedWarnings = snd ((,) TFHelper_0123456789876543210Sym1KindInference ()) type TFHelper_0123456789876543210Sym2 :: T a () -> T a () -> Bool- type family TFHelper_0123456789876543210Sym2 (a0123456789876543210 :: T a ()) (a0123456789876543210 :: T a ()) :: Bool where+ type family TFHelper_0123456789876543210Sym2 @a (a0123456789876543210 :: T a ()) (a0123456789876543210 :: T a ()) :: Bool where TFHelper_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = TFHelper_0123456789876543210 a0123456789876543210 a0123456789876543210 instance PEq (T a ()) where type (==) a a = Apply (Apply TFHelper_0123456789876543210Sym0 a) a type Compare_0123456789876543210 :: T a () -> T a () -> Ordering- type family Compare_0123456789876543210 (a :: T a ()) (a :: T a ()) :: Ordering where+ type family Compare_0123456789876543210 @a (a :: T a ()) (a :: T a ()) :: Ordering where Compare_0123456789876543210 ((:*:) a_0123456789876543210 a_0123456789876543210) ((:*:) b_0123456789876543210 b_0123456789876543210) = Apply (Apply (Apply FoldlSym0 (<>@#@$)) EQSym0) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) NilSym0)) type Compare_0123456789876543210Sym0 :: (~>) (T a ()) ((~>) (T a ()) Ordering) data Compare_0123456789876543210Sym0 :: (~>) (T a ()) ((~>) (T a ()) Ordering)@@ -104,13 +104,13 @@ = snd ((,) Compare_0123456789876543210Sym1KindInference ()) type Compare_0123456789876543210Sym2 :: T a () -> T a () -> Ordering- type family Compare_0123456789876543210Sym2 (a0123456789876543210 :: T a ()) (a0123456789876543210 :: T a ()) :: Ordering where+ type family Compare_0123456789876543210Sym2 @a (a0123456789876543210 :: T a ()) (a0123456789876543210 :: T a ()) :: Ordering where Compare_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = Compare_0123456789876543210 a0123456789876543210 a0123456789876543210 instance POrd (T a ()) where type Compare a a = Apply (Apply Compare_0123456789876543210Sym0 a) a type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural -> T a () -> Symbol -> Symbol- type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: T a ()) (a :: Symbol) :: Symbol where+ type family ShowsPrec_0123456789876543210 @a (a :: GHC.Num.Natural.Natural) (a :: T a ()) (a :: Symbol) :: Symbol where ShowsPrec_0123456789876543210 p_0123456789876543210 ((:*:) argL_0123456789876543210 argR_0123456789876543210) a_0123456789876543210 = 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 ShowsPrec_0123456789876543210Sym0 :: (~>) GHC.Num.Natural.Natural ((~>) (T a ()) ((~>) Symbol Symbol)) data ShowsPrec_0123456789876543210Sym0 :: (~>) GHC.Num.Natural.Natural ((~>) (T a ()) ((~>) Symbol Symbol))@@ -143,7 +143,7 @@ = snd ((,) ShowsPrec_0123456789876543210Sym2KindInference ()) type ShowsPrec_0123456789876543210Sym3 :: GHC.Num.Natural.Natural -> T a () -> Symbol -> Symbol- type family ShowsPrec_0123456789876543210Sym3 (a0123456789876543210 :: GHC.Num.Natural.Natural) (a0123456789876543210 :: T a ()) (a0123456789876543210 :: Symbol) :: Symbol where+ type family ShowsPrec_0123456789876543210Sym3 @a (a0123456789876543210 :: GHC.Num.Natural.Natural) (a0123456789876543210 :: T a ()) (a0123456789876543210 :: Symbol) :: Symbol where ShowsPrec_0123456789876543210Sym3 a0123456789876543210 a0123456789876543210 a0123456789876543210 = ShowsPrec_0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 instance PShow (T a ()) where type ShowsPrec a a a = Apply (Apply (Apply ShowsPrec_0123456789876543210Sym0 a) a) a@@ -513,12 +513,14 @@ instance Eq (ST (z :: T a ())) where (==) _ _ = True instance SDecide a =>- Data.Type.Equality.TestEquality (ST :: T a () -> Type) where- Data.Type.Equality.testEquality+ GHC.Internal.Data.Type.Equality.TestEquality (ST :: T a ()+ -> Type) where+ GHC.Internal.Data.Type.Equality.testEquality = Data.Singletons.Decide.decideEquality instance SDecide a =>- Data.Type.Coercion.TestCoercion (ST :: T a () -> Type) where- Data.Type.Coercion.testCoercion+ GHC.Internal.Data.Type.Coercion.TestCoercion (ST :: T a ()+ -> Type) where+ GHC.Internal.Data.Type.Coercion.testCoercion = Data.Singletons.Decide.decideCoercion instance SDecide S where (%~) SS1 SS1 = Proved Refl@@ -527,11 +529,13 @@ (%~) SS2 SS2 = Proved Refl instance Eq (SS (z :: S)) where (==) _ _ = True- instance Data.Type.Equality.TestEquality (SS :: S -> Type) where- Data.Type.Equality.testEquality+ instance GHC.Internal.Data.Type.Equality.TestEquality (SS :: S+ -> Type) where+ GHC.Internal.Data.Type.Equality.testEquality = Data.Singletons.Decide.decideEquality- instance Data.Type.Coercion.TestCoercion (SS :: S -> Type) where- Data.Type.Coercion.testCoercion+ instance GHC.Internal.Data.Type.Coercion.TestCoercion (SS :: S+ -> Type) where+ GHC.Internal.Data.Type.Coercion.testCoercion = Data.Singletons.Decide.decideCoercion instance Ord (ST (z :: T a ())) where compare _ _ = EQ
tests/compile-and-dump/Singletons/Star.golden view
@@ -257,11 +257,13 @@ instance Eq (SRep (z :: Type)) where (==) _ _ = True instance (SDecide Type, SDecide Nat) =>- Data.Type.Equality.TestEquality (SRep :: Type -> Type) where- Data.Type.Equality.testEquality = decideEquality+ GHC.Internal.Data.Type.Equality.TestEquality (SRep :: Type+ -> Type) where+ GHC.Internal.Data.Type.Equality.testEquality = decideEquality instance (SDecide Type, SDecide Nat) =>- Data.Type.Coercion.TestCoercion (SRep :: Type -> Type) where- Data.Type.Coercion.testCoercion = decideCoercion+ GHC.Internal.Data.Type.Coercion.TestCoercion (SRep :: Type+ -> Type) where+ GHC.Internal.Data.Type.Coercion.testCoercion = decideCoercion instance (SEq Type, SEq Nat) => SEq Type where (%==) :: forall (t1 :: Type) (t2 :: Type). Sing t1
tests/compile-and-dump/Singletons/T136b.golden view
@@ -14,7 +14,7 @@ instance SuppressUnusedWarnings MethSym0 where suppressUnusedWarnings = snd ((,) MethSym0KindInference ()) type MethSym1 :: forall a. a -> a- type family MethSym1 (a0123456789876543210 :: a) :: a where+ type family MethSym1 @a (a0123456789876543210 :: a) :: a where MethSym1 a0123456789876543210 = Meth a0123456789876543210 class PC a where type family Meth (arg :: a) :: a
tests/compile-and-dump/Singletons/T145.golden view
@@ -22,7 +22,7 @@ instance SuppressUnusedWarnings (ColSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) ColSym1KindInference ()) type ColSym2 :: forall f a. f a -> a -> Bool- type family ColSym2 (a0123456789876543210 :: f a) (a0123456789876543210 :: a) :: Bool where+ type family ColSym2 @f @a (a0123456789876543210 :: f a) (a0123456789876543210 :: a) :: Bool where ColSym2 a0123456789876543210 a0123456789876543210 = Col a0123456789876543210 a0123456789876543210 class PColumn (f :: Type -> Type) where type family Col (arg :: f a) (arg :: a) :: Bool
tests/compile-and-dump/Singletons/T150.golden view
@@ -71,7 +71,7 @@ HCons :: x -> (HList xs) -> HList ('(:) x xs) data Obj :: Type where Obj :: a -> Obj type FZSym0 :: Fin ('Succ n)- type family FZSym0 :: Fin ('Succ n) where+ type family FZSym0 @n :: Fin ('Succ n) where FZSym0 = FZ type FSSym0 :: (~>) (Fin n) (Fin ('Succ n)) data FSSym0 :: (~>) (Fin n) (Fin ('Succ n))@@ -82,7 +82,7 @@ instance SuppressUnusedWarnings FSSym0 where suppressUnusedWarnings = snd ((,) FSSym0KindInference ()) type FSSym1 :: Fin n -> Fin ('Succ n)- type family FSSym1 (a0123456789876543210 :: Fin n) :: Fin ('Succ n) where+ type family FSSym1 @n (a0123456789876543210 :: Fin n) :: Fin ('Succ n) where FSSym1 a0123456789876543210 = FS a0123456789876543210 type MkFoo1Sym0 :: Foo Bool type family MkFoo1Sym0 :: Foo Bool where@@ -91,7 +91,7 @@ type family MkFoo2Sym0 :: Foo Ordering where MkFoo2Sym0 = MkFoo2 type VNilSym0 :: Vec 'Zero a- type family VNilSym0 :: Vec 'Zero a where+ type family VNilSym0 @a :: Vec 'Zero a where VNilSym0 = VNil type VConsSym0 :: (~>) a ((~>) (Vec n a) (Vec ('Succ n) a)) data VConsSym0 :: (~>) a ((~>) (Vec n a) (Vec ('Succ n) a))@@ -110,10 +110,10 @@ instance SuppressUnusedWarnings (VConsSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) VConsSym1KindInference ()) type VConsSym2 :: a -> Vec n a -> Vec ('Succ n) a- type family VConsSym2 (a0123456789876543210 :: a) (a0123456789876543210 :: Vec n a) :: Vec ('Succ n) a where+ type family VConsSym2 @a @n (a0123456789876543210 :: a) (a0123456789876543210 :: Vec n a) :: Vec ('Succ n) a where VConsSym2 a0123456789876543210 a0123456789876543210 = VCons a0123456789876543210 a0123456789876543210 type ReflexiveSym0 :: Equal a a- type family ReflexiveSym0 :: Equal a a where+ type family ReflexiveSym0 @a :: Equal a a where ReflexiveSym0 = Reflexive type HNilSym0 :: HList '[] type family HNilSym0 :: HList '[] where@@ -135,7 +135,7 @@ instance SuppressUnusedWarnings (HConsSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) HConsSym1KindInference ()) type HConsSym2 :: x -> HList xs -> HList ('(:) x xs)- type family HConsSym2 (a0123456789876543210 :: x) (a0123456789876543210 :: HList xs) :: HList ('(:) x xs) where+ type family HConsSym2 @x @xs (a0123456789876543210 :: x) (a0123456789876543210 :: HList xs) :: HList ('(:) x xs) where HConsSym2 a0123456789876543210 a0123456789876543210 = HCons a0123456789876543210 a0123456789876543210 type ObjSym0 :: (~>) a Obj data ObjSym0 :: (~>) a Obj@@ -146,7 +146,7 @@ instance SuppressUnusedWarnings ObjSym0 where suppressUnusedWarnings = snd ((,) ObjSym0KindInference ()) type ObjSym1 :: a -> Obj- type family ObjSym1 (a0123456789876543210 :: a) :: Obj where+ type family ObjSym1 @a (a0123456789876543210 :: a) :: Obj where ObjSym1 a0123456789876543210 = Obj a0123456789876543210 type family Case_0123456789876543210 n0123456789876543210 t where type TransitivitySym0 :: (~>) (Equal a b) ((~>) (Equal b c) (Equal a c))@@ -166,7 +166,7 @@ instance SuppressUnusedWarnings (TransitivitySym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) TransitivitySym1KindInference ()) type TransitivitySym2 :: Equal a b -> Equal b c -> Equal a c- type family TransitivitySym2 (a0123456789876543210 :: Equal a b) (a0123456789876543210 :: Equal b c) :: Equal a c where+ type family TransitivitySym2 @a @b @c (a0123456789876543210 :: Equal a b) (a0123456789876543210 :: Equal b c) :: Equal a c where TransitivitySym2 a0123456789876543210 a0123456789876543210 = Transitivity a0123456789876543210 a0123456789876543210 type SymmetrySym0 :: (~>) (Equal a b) (Equal b a) data SymmetrySym0 :: (~>) (Equal a b) (Equal b a)@@ -177,7 +177,7 @@ instance SuppressUnusedWarnings SymmetrySym0 where suppressUnusedWarnings = snd ((,) SymmetrySym0KindInference ()) type SymmetrySym1 :: Equal a b -> Equal b a- type family SymmetrySym1 (a0123456789876543210 :: Equal a b) :: Equal b a where+ type family SymmetrySym1 @a @b (a0123456789876543210 :: Equal a b) :: Equal b a where SymmetrySym1 a0123456789876543210 = Symmetry a0123456789876543210 type MapVecSym0 :: (~>) ((~>) a b) ((~>) (Vec n a) (Vec n b)) data MapVecSym0 :: (~>) ((~>) a b) ((~>) (Vec n a) (Vec n b))@@ -196,7 +196,7 @@ instance SuppressUnusedWarnings (MapVecSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) MapVecSym1KindInference ()) type MapVecSym2 :: (~>) a b -> Vec n a -> Vec n b- type family MapVecSym2 (a0123456789876543210 :: (~>) a b) (a0123456789876543210 :: Vec n a) :: Vec n b where+ type family MapVecSym2 @a @b @n (a0123456789876543210 :: (~>) a b) (a0123456789876543210 :: Vec n a) :: Vec n b where MapVecSym2 a0123456789876543210 a0123456789876543210 = MapVec a0123456789876543210 a0123456789876543210 type (!@#@$) :: (~>) (Vec n a) ((~>) (Fin n) a) data (!@#@$) :: (~>) (Vec n a) ((~>) (Fin n) a)@@ -215,7 +215,7 @@ instance SuppressUnusedWarnings ((!@#@$$) a0123456789876543210) where suppressUnusedWarnings = snd ((,) (:!@#@$$###) ()) type (!@#@$$$) :: Vec n a -> Fin n -> a- type family (!@#@$$$) (a0123456789876543210 :: Vec n a) (a0123456789876543210 :: Fin n) :: a where+ type family (!@#@$$$) @n @a (a0123456789876543210 :: Vec n a) (a0123456789876543210 :: Fin n) :: a where (!@#@$$$) a0123456789876543210 a0123456789876543210 = (!) a0123456789876543210 a0123456789876543210 type TailVecSym0 :: (~>) (Vec ('Succ n) a) (Vec n a) data TailVecSym0 :: (~>) (Vec ('Succ n) a) (Vec n a)@@ -226,7 +226,7 @@ instance SuppressUnusedWarnings TailVecSym0 where suppressUnusedWarnings = snd ((,) TailVecSym0KindInference ()) type TailVecSym1 :: Vec ('Succ n) a -> Vec n a- type family TailVecSym1 (a0123456789876543210 :: Vec ('Succ n) a) :: Vec n a where+ type family TailVecSym1 @n @a (a0123456789876543210 :: Vec ('Succ n) a) :: Vec n a where TailVecSym1 a0123456789876543210 = TailVec a0123456789876543210 type HeadVecSym0 :: (~>) (Vec ('Succ n) a) a data HeadVecSym0 :: (~>) (Vec ('Succ n) a) a@@ -237,28 +237,28 @@ instance SuppressUnusedWarnings HeadVecSym0 where suppressUnusedWarnings = snd ((,) HeadVecSym0KindInference ()) type HeadVecSym1 :: Vec ('Succ n) a -> a- type family HeadVecSym1 (a0123456789876543210 :: Vec ('Succ n) a) :: a where+ type family HeadVecSym1 @n @a (a0123456789876543210 :: Vec ('Succ n) a) :: a where HeadVecSym1 a0123456789876543210 = HeadVec a0123456789876543210 type Transitivity :: Equal a b -> Equal b c -> Equal a c- type family Transitivity (a :: Equal a b) (a :: Equal b c) :: Equal a c where+ type family Transitivity @a @b @c (a :: Equal a b) (a :: Equal b c) :: Equal a c where Transitivity Reflexive Reflexive = ReflexiveSym0 type Symmetry :: Equal a b -> Equal b a- type family Symmetry (a :: Equal a b) :: Equal b a where+ type family Symmetry @a @b (a :: Equal a b) :: Equal b a where Symmetry Reflexive = ReflexiveSym0 type MapVec :: (~>) a b -> Vec n a -> Vec n b- type family MapVec (a :: (~>) a b) (a :: Vec n a) :: Vec n b where+ type family MapVec @a @b @n (a :: (~>) a b) (a :: Vec n a) :: Vec n b where MapVec _ VNil = VNilSym0 MapVec f (VCons x xs) = Apply (Apply VConsSym0 (Apply f x)) (Apply (Apply MapVecSym0 f) xs) type (!) :: Vec n a -> Fin n -> a- type family (!) (a :: Vec n a) (a :: Fin n) :: a where+ type family (!) @n @a (a :: Vec n a) (a :: Fin n) :: a where (!) (VCons x _) FZ = x (!) (VCons _ xs) (FS n) = Apply (Apply (!@#@$) xs) n (!) VNil n = Case_0123456789876543210 n n type TailVec :: Vec ('Succ n) a -> Vec n a- type family TailVec (a :: Vec ('Succ n) a) :: Vec n a where+ type family TailVec @n @a (a :: Vec ('Succ n) a) :: Vec n a where TailVec (VCons _ xs) = xs type HeadVec :: Vec ('Succ n) a -> a- type family HeadVec (a :: Vec ('Succ n) a) :: a where+ type family HeadVec @n @a (a :: Vec ('Succ n) a) :: a where HeadVec (VCons x _) = x sTransitivity :: (forall (t :: Equal a b) (t :: Equal b c).
tests/compile-and-dump/Singletons/T160.golden view
@@ -32,10 +32,10 @@ instance SuppressUnusedWarnings FooSym0 where suppressUnusedWarnings = snd ((,) FooSym0KindInference ()) type FooSym1 :: a -> a- type family FooSym1 (a0123456789876543210 :: a) :: a where+ type family FooSym1 @a (a0123456789876543210 :: a) :: a where FooSym1 a0123456789876543210 = Foo a0123456789876543210 type Foo :: a -> a- type family Foo (a :: a) :: a where+ type family Foo @a (a :: a) :: a where Foo x = Case_0123456789876543210 x (Let0123456789876543210Scrutinee_0123456789876543210Sym1 x) sFoo :: (forall (t :: a).@@ -60,7 +60,6 @@ (applySing (singFun1 @ShowTypeSym0 SShowType) sX)) instance (SNum a, SEq a) => SingI (FooSym0 :: (~>) a a) where sing = singFun1 @FooSym0 sFoo- Singletons/T160.hs:0:0: error: [GHC-64725] • 1 • In the expression: Refl@@ -68,3 +67,4 @@ | 13 | f = Refl | ^^^^+
tests/compile-and-dump/Singletons/T163.golden view
@@ -11,7 +11,7 @@ instance SuppressUnusedWarnings LSym0 where suppressUnusedWarnings = snd ((,) LSym0KindInference ()) type LSym1 :: forall a b. a -> (+) a b- type family LSym1 (a0123456789876543210 :: a) :: (+) a b where+ type family LSym1 @a @b (a0123456789876543210 :: a) :: (+) a b where LSym1 a0123456789876543210 = L a0123456789876543210 type RSym0 :: forall a b. (~>) b ((+) a b) data RSym0 :: (~>) b ((+) a b)@@ -22,7 +22,7 @@ instance SuppressUnusedWarnings RSym0 where suppressUnusedWarnings = snd ((,) RSym0KindInference ()) type RSym1 :: forall a b. b -> (+) a b- type family RSym1 (a0123456789876543210 :: b) :: (+) a b where+ type family RSym1 @a @b (a0123456789876543210 :: b) :: (+) a b where RSym1 a0123456789876543210 = R a0123456789876543210 data (%+) :: forall a b. (+) a b -> Type where
tests/compile-and-dump/Singletons/T166.golden view
@@ -31,7 +31,7 @@ instance SuppressUnusedWarnings (FoosPrecSym2 a0123456789876543210 a0123456789876543210) where suppressUnusedWarnings = snd ((,) FoosPrecSym2KindInference ()) type FoosPrecSym3 :: forall a. Natural -> a -> [Bool] -> [Bool]- type family FoosPrecSym3 (a0123456789876543210 :: Natural) (a0123456789876543210 :: a) (a0123456789876543210 :: [Bool]) :: [Bool] where+ type family FoosPrecSym3 @a (a0123456789876543210 :: Natural) (a0123456789876543210 :: a) (a0123456789876543210 :: [Bool]) :: [Bool] where FoosPrecSym3 a0123456789876543210 a0123456789876543210 a0123456789876543210 = FoosPrec a0123456789876543210 a0123456789876543210 a0123456789876543210 type FooSym0 :: forall a. (~>) a [Bool] data FooSym0 :: (~>) a [Bool]@@ -42,7 +42,7 @@ instance SuppressUnusedWarnings FooSym0 where suppressUnusedWarnings = snd ((,) FooSym0KindInference ()) type FooSym1 :: forall a. a -> [Bool]- type family FooSym1 (a0123456789876543210 :: a) :: [Bool] where+ type family FooSym1 @a (a0123456789876543210 :: a) :: [Bool] where FooSym1 a0123456789876543210 = Foo a0123456789876543210 type family Lambda_0123456789876543210 x0123456789876543210 s where Lambda_0123456789876543210 x s = Apply (Apply (Apply FoosPrecSym0 (FromInteger 0)) x) s@@ -65,7 +65,7 @@ type family Lambda_0123456789876543210Sym2 x0123456789876543210 s0123456789876543210 where Lambda_0123456789876543210Sym2 x0123456789876543210 s0123456789876543210 = Lambda_0123456789876543210 x0123456789876543210 s0123456789876543210 type Foo_0123456789876543210 :: a -> [Bool]- type family Foo_0123456789876543210 (a :: a) :: [Bool] where+ type family Foo_0123456789876543210 @a (a :: a) :: [Bool] where Foo_0123456789876543210 x = Apply Lambda_0123456789876543210Sym0 x type Foo_0123456789876543210Sym0 :: (~>) a [Bool] data Foo_0123456789876543210Sym0 :: (~>) a [Bool]@@ -77,7 +77,7 @@ suppressUnusedWarnings = snd ((,) Foo_0123456789876543210Sym0KindInference ()) type Foo_0123456789876543210Sym1 :: a -> [Bool]- type family Foo_0123456789876543210Sym1 (a0123456789876543210 :: a) :: [Bool] where+ type family Foo_0123456789876543210Sym1 @a (a0123456789876543210 :: a) :: [Bool] where Foo_0123456789876543210Sym1 a0123456789876543210 = Foo_0123456789876543210 a0123456789876543210 class PFoo a where type family FoosPrec (arg :: Natural) (arg :: a) (arg :: [Bool]) :: [Bool]@@ -140,7 +140,6 @@ = singFun1 @(FoosPrecSym2 (d :: Natural) (d :: a)) (sFoosPrec s s) instance SFoo a => SingI (FooSym0 :: (~>) a [Bool]) where sing = singFun1 @FooSym0 sFoo- Singletons/T166.hs:0:0: error: [GHC-83865] • Expecting one more argument to ‘Apply Lambda_0123456789876543210Sym0 x’ Expected kind ‘[Bool]’,@@ -152,3 +151,4 @@ | 6 | $(singletonsOnly [d| | ^^^^^^^^^^^^^^^^^^^...+
tests/compile-and-dump/Singletons/T167.golden view
@@ -34,7 +34,7 @@ instance SuppressUnusedWarnings (FoosPrecSym2 a0123456789876543210 a0123456789876543210) where suppressUnusedWarnings = snd ((,) FoosPrecSym2KindInference ()) type FoosPrecSym3 :: forall a. Natural -> a -> [Bool] -> [Bool]- type family FoosPrecSym3 (a0123456789876543210 :: Natural) (a0123456789876543210 :: a) (a0123456789876543210 :: [Bool]) :: [Bool] where+ type family FoosPrecSym3 @a (a0123456789876543210 :: Natural) (a0123456789876543210 :: a) (a0123456789876543210 :: [Bool]) :: [Bool] where FoosPrecSym3 a0123456789876543210 a0123456789876543210 a0123456789876543210 = FoosPrec a0123456789876543210 a0123456789876543210 a0123456789876543210 type FooListSym0 :: forall a. (~>) a ((~>) [Bool] [Bool]) data FooListSym0 :: (~>) a ((~>) [Bool] [Bool])@@ -53,10 +53,10 @@ instance SuppressUnusedWarnings (FooListSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) FooListSym1KindInference ()) type FooListSym2 :: forall a. a -> [Bool] -> [Bool]- type family FooListSym2 (a0123456789876543210 :: a) (a0123456789876543210 :: [Bool]) :: [Bool] where+ type family FooListSym2 @a (a0123456789876543210 :: a) (a0123456789876543210 :: [Bool]) :: [Bool] where FooListSym2 a0123456789876543210 a0123456789876543210 = FooList a0123456789876543210 a0123456789876543210 type FooList_0123456789876543210 :: a -> [Bool] -> [Bool]- type family FooList_0123456789876543210 (a :: a) (a :: [Bool]) :: [Bool] where+ type family FooList_0123456789876543210 @a (a :: a) (a :: [Bool]) :: [Bool] where FooList_0123456789876543210 a_0123456789876543210 a_0123456789876543210 = Apply (Apply UndefinedSym0 a_0123456789876543210) a_0123456789876543210 type FooList_0123456789876543210Sym0 :: (~>) a ((~>) [Bool] [Bool]) data FooList_0123456789876543210Sym0 :: (~>) a ((~>) [Bool] [Bool])@@ -77,7 +77,7 @@ suppressUnusedWarnings = snd ((,) FooList_0123456789876543210Sym1KindInference ()) type FooList_0123456789876543210Sym2 :: a -> [Bool] -> [Bool]- type family FooList_0123456789876543210Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: [Bool]) :: [Bool] where+ type family FooList_0123456789876543210Sym2 @a (a0123456789876543210 :: a) (a0123456789876543210 :: [Bool]) :: [Bool] where FooList_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = FooList_0123456789876543210 a0123456789876543210 a0123456789876543210 class PFoo a where type family FoosPrec (arg :: Natural) (arg :: a) (arg :: [Bool]) :: [Bool]@@ -85,7 +85,7 @@ type FooList a a = Apply (Apply FooList_0123456789876543210Sym0 a) a type FoosPrec_0123456789876543210 :: Natural -> [a] -> [Bool] -> [Bool]- type family FoosPrec_0123456789876543210 (a :: Natural) (a :: [a]) (a :: [Bool]) :: [Bool] where+ type family FoosPrec_0123456789876543210 @a (a :: Natural) (a :: [a]) (a :: [Bool]) :: [Bool] where FoosPrec_0123456789876543210 _ a_0123456789876543210 a_0123456789876543210 = Apply (Apply FooListSym0 a_0123456789876543210) a_0123456789876543210 type FoosPrec_0123456789876543210Sym0 :: (~>) Natural ((~>) [a] ((~>) [Bool] [Bool])) data FoosPrec_0123456789876543210Sym0 :: (~>) Natural ((~>) [a] ((~>) [Bool] [Bool]))@@ -118,7 +118,7 @@ = snd ((,) FoosPrec_0123456789876543210Sym2KindInference ()) type FoosPrec_0123456789876543210Sym3 :: Natural -> [a] -> [Bool] -> [Bool]- type family FoosPrec_0123456789876543210Sym3 (a0123456789876543210 :: Natural) (a0123456789876543210 :: [a]) (a0123456789876543210 :: [Bool]) :: [Bool] where+ type family FoosPrec_0123456789876543210Sym3 @a (a0123456789876543210 :: Natural) (a0123456789876543210 :: [a]) (a0123456789876543210 :: [Bool]) :: [Bool] where FoosPrec_0123456789876543210Sym3 a0123456789876543210 a0123456789876543210 a0123456789876543210 = FoosPrec_0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 instance PFoo [a] where type FoosPrec a a a = Apply (Apply (Apply FoosPrec_0123456789876543210Sym0 a) a) a
tests/compile-and-dump/Singletons/T175.golden view
@@ -19,24 +19,24 @@ quux2 :: Bar2 a => a quux2 = baz type Quux2Sym0 :: a- type family Quux2Sym0 :: a where+ type family Quux2Sym0 @a :: a where Quux2Sym0 = Quux2 type Quux2 :: a- type family Quux2 :: a where+ type family Quux2 @a :: a where Quux2 = BazSym0 type BazSym0 :: forall a. a- type family BazSym0 :: a where+ type family BazSym0 @a :: a where BazSym0 = Baz class PFoo a where type family Baz :: a type Quux1Sym0 :: forall a. a- type family Quux1Sym0 :: a where+ type family Quux1Sym0 @a :: a where Quux1Sym0 = Quux1 type Quux1_0123456789876543210 :: a- type family Quux1_0123456789876543210 :: a where+ type family Quux1_0123456789876543210 @a :: a where Quux1_0123456789876543210 = BazSym0 type Quux1_0123456789876543210Sym0 :: a- type family Quux1_0123456789876543210Sym0 :: a where+ type family Quux1_0123456789876543210Sym0 @a :: a where Quux1_0123456789876543210Sym0 = Quux1_0123456789876543210 class PBar1 a where type family Quux1 :: a
tests/compile-and-dump/Singletons/T176.golden view
@@ -53,7 +53,7 @@ instance SuppressUnusedWarnings Quux2Sym0 where suppressUnusedWarnings = snd ((,) Quux2Sym0KindInference ()) type Quux2Sym1 :: a -> a- type family Quux2Sym1 (a0123456789876543210 :: a) :: a where+ type family Quux2Sym1 @a (a0123456789876543210 :: a) :: a where Quux2Sym1 a0123456789876543210 = Quux2 a0123456789876543210 type Quux1Sym0 :: (~>) a a data Quux1Sym0 :: (~>) a a@@ -64,13 +64,13 @@ instance SuppressUnusedWarnings Quux1Sym0 where suppressUnusedWarnings = snd ((,) Quux1Sym0KindInference ()) type Quux1Sym1 :: a -> a- type family Quux1Sym1 (a0123456789876543210 :: a) :: a where+ type family Quux1Sym1 @a (a0123456789876543210 :: a) :: a where Quux1Sym1 a0123456789876543210 = Quux1 a0123456789876543210 type Quux2 :: a -> a- type family Quux2 (a :: a) :: a where+ type family Quux2 @a (a :: a) :: a where Quux2 x = Apply (Apply Bar2Sym0 x) Baz2Sym0 type Quux1 :: a -> a- type family Quux1 (a :: a) :: a where+ type family Quux1 @a (a :: a) :: a where Quux1 x = Apply (Apply Bar1Sym0 x) (Apply Lambda_0123456789876543210Sym0 x) type Bar1Sym0 :: forall a b. (~>) a ((~>) ((~>) a b) b) data Bar1Sym0 :: (~>) a ((~>) ((~>) a b) b)@@ -89,10 +89,10 @@ instance SuppressUnusedWarnings (Bar1Sym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) Bar1Sym1KindInference ()) type Bar1Sym2 :: forall a b. a -> (~>) a b -> b- type family Bar1Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: (~>) a b) :: b where+ type family Bar1Sym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: (~>) a b) :: b where Bar1Sym2 a0123456789876543210 a0123456789876543210 = Bar1 a0123456789876543210 a0123456789876543210 type Baz1Sym0 :: forall a. a- type family Baz1Sym0 :: a where+ type family Baz1Sym0 @a :: a where Baz1Sym0 = Baz1 class PFoo1 a where type family Bar1 (arg :: a) (arg :: (~>) a b) :: b@@ -114,10 +114,10 @@ instance SuppressUnusedWarnings (Bar2Sym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) Bar2Sym1KindInference ()) type Bar2Sym2 :: forall a b. a -> b -> b- type family Bar2Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: b where+ type family Bar2Sym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: b where Bar2Sym2 a0123456789876543210 a0123456789876543210 = Bar2 a0123456789876543210 a0123456789876543210 type Baz2Sym0 :: forall a. a- type family Baz2Sym0 :: a where+ type family Baz2Sym0 @a :: a where Baz2Sym0 = Baz2 class PFoo2 a where type family Bar2 (arg :: a) (arg :: b) :: b
tests/compile-and-dump/Singletons/T178.golden view
@@ -244,13 +244,13 @@ (%~) SMany SMany = Proved Refl instance Eq (SOcc (z :: Occ)) where (==) _ _ = True- instance Data.Type.Equality.TestEquality (SOcc :: Occ- -> Type) where- Data.Type.Equality.testEquality+ instance GHC.Internal.Data.Type.Equality.TestEquality (SOcc :: Occ+ -> Type) where+ GHC.Internal.Data.Type.Equality.testEquality = Data.Singletons.Decide.decideEquality- instance Data.Type.Coercion.TestCoercion (SOcc :: Occ- -> Type) where- Data.Type.Coercion.testCoercion+ instance GHC.Internal.Data.Type.Coercion.TestCoercion (SOcc :: Occ+ -> Type) where+ GHC.Internal.Data.Type.Coercion.testCoercion = Data.Singletons.Decide.decideCoercion instance Ord (SOcc (z :: Occ)) where compare _ _ = EQ
tests/compile-and-dump/Singletons/T183.golden view
@@ -204,7 +204,7 @@ instance SuppressUnusedWarnings Foo9Sym0 where suppressUnusedWarnings = snd ((,) Foo9Sym0KindInference ()) type Foo9Sym1 :: a -> a- type family Foo9Sym1 (a0123456789876543210 :: a) :: a where+ type family Foo9Sym1 @a (a0123456789876543210 :: a) :: a where Foo9Sym1 a0123456789876543210 = Foo9 a0123456789876543210 type Foo8Sym0 :: forall a. (~>) (Maybe a) (Maybe a) data Foo8Sym0 :: (~>) (Maybe a) (Maybe a)@@ -215,7 +215,7 @@ instance SuppressUnusedWarnings Foo8Sym0 where suppressUnusedWarnings = snd ((,) Foo8Sym0KindInference ()) type Foo8Sym1 :: forall a. Maybe a -> Maybe a- type family Foo8Sym1 (a0123456789876543210 :: Maybe a) :: Maybe a where+ type family Foo8Sym1 @a (a0123456789876543210 :: Maybe a) :: Maybe a where Foo8Sym1 a0123456789876543210 = Foo8 a0123456789876543210 type Foo7Sym0 :: (~>) a ((~>) b a) data Foo7Sym0 :: (~>) a ((~>) b a)@@ -234,7 +234,7 @@ instance SuppressUnusedWarnings (Foo7Sym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) Foo7Sym1KindInference ()) type Foo7Sym2 :: a -> b -> a- type family Foo7Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where+ type family Foo7Sym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where Foo7Sym2 a0123456789876543210 a0123456789876543210 = Foo7 a0123456789876543210 a0123456789876543210 type Foo6Sym0 :: (~>) (Maybe (Maybe a)) (Maybe (Maybe a)) data Foo6Sym0 :: (~>) (Maybe (Maybe a)) (Maybe (Maybe a))@@ -245,7 +245,7 @@ instance SuppressUnusedWarnings Foo6Sym0 where suppressUnusedWarnings = snd ((,) Foo6Sym0KindInference ()) type Foo6Sym1 :: Maybe (Maybe a) -> Maybe (Maybe a)- type family Foo6Sym1 (a0123456789876543210 :: Maybe (Maybe a)) :: Maybe (Maybe a) where+ type family Foo6Sym1 @a (a0123456789876543210 :: Maybe (Maybe a)) :: Maybe (Maybe a) where Foo6Sym1 a0123456789876543210 = Foo6 a0123456789876543210 type Foo5Sym0 :: (~>) (Maybe (Maybe a)) (Maybe (Maybe a)) data Foo5Sym0 :: (~>) (Maybe (Maybe a)) (Maybe (Maybe a))@@ -256,7 +256,7 @@ instance SuppressUnusedWarnings Foo5Sym0 where suppressUnusedWarnings = snd ((,) Foo5Sym0KindInference ()) type Foo5Sym1 :: Maybe (Maybe a) -> Maybe (Maybe a)- type family Foo5Sym1 (a0123456789876543210 :: Maybe (Maybe a)) :: Maybe (Maybe a) where+ type family Foo5Sym1 @a (a0123456789876543210 :: Maybe (Maybe a)) :: Maybe (Maybe a) where Foo5Sym1 a0123456789876543210 = Foo5 a0123456789876543210 type Foo4Sym0 :: (~>) (a, b) (b, a) data Foo4Sym0 :: (~>) (a, b) (b, a)@@ -267,8 +267,8 @@ instance SuppressUnusedWarnings Foo4Sym0 where suppressUnusedWarnings = snd ((,) Foo4Sym0KindInference ()) type Foo4Sym1 :: (a, b) -> (b, a)- type family Foo4Sym1 (a0123456789876543210 :: (a, b)) :: (b,- a) where+ type family Foo4Sym1 @a @b (a0123456789876543210 :: (a, b)) :: (b,+ a) where Foo4Sym1 a0123456789876543210 = Foo4 a0123456789876543210 type Foo3Sym0 :: forall a. (~>) (Maybe a) a data Foo3Sym0 :: (~>) (Maybe a) a@@ -279,7 +279,7 @@ instance SuppressUnusedWarnings Foo3Sym0 where suppressUnusedWarnings = snd ((,) Foo3Sym0KindInference ()) type Foo3Sym1 :: forall a. Maybe a -> a- type family Foo3Sym1 (a0123456789876543210 :: Maybe a) :: a where+ type family Foo3Sym1 @a (a0123456789876543210 :: Maybe a) :: a where Foo3Sym1 a0123456789876543210 = Foo3 a0123456789876543210 type Foo2Sym0 :: forall a. (~>) (Maybe a) a data Foo2Sym0 :: (~>) (Maybe a) a@@ -290,7 +290,7 @@ instance SuppressUnusedWarnings Foo2Sym0 where suppressUnusedWarnings = snd ((,) Foo2Sym0KindInference ()) type Foo2Sym1 :: forall a. Maybe a -> a- type family Foo2Sym1 (a0123456789876543210 :: Maybe a) :: a where+ type family Foo2Sym1 @a (a0123456789876543210 :: Maybe a) :: a where Foo2Sym1 a0123456789876543210 = Foo2 a0123456789876543210 type Foo1Sym0 :: (~>) (Maybe a) a data Foo1Sym0 :: (~>) (Maybe a) a@@ -301,7 +301,7 @@ instance SuppressUnusedWarnings Foo1Sym0 where suppressUnusedWarnings = snd ((,) Foo1Sym0KindInference ()) type Foo1Sym1 :: Maybe a -> a- type family Foo1Sym1 (a0123456789876543210 :: Maybe a) :: a where+ type family Foo1Sym1 @a (a0123456789876543210 :: Maybe a) :: a where Foo1Sym1 a0123456789876543210 = Foo1 a0123456789876543210 data GSym0 a0123456789876543210 where@@ -340,32 +340,32 @@ type family F1Sym1 a0123456789876543210 where F1Sym1 a0123456789876543210 = F1 a0123456789876543210 type Foo9 :: a -> a- type family Foo9 (a :: a) :: a where+ type family Foo9 @a (a :: a) :: a where Foo9 (x :: a) = Apply (Apply (Let0123456789876543210GSym2 a x) x) Tuple0Sym0 type Foo8 :: forall a. Maybe a -> Maybe a- type family Foo8 (a :: Maybe a) :: Maybe a where+ type family Foo8 @a (a :: Maybe a) :: Maybe a where Foo8 @a ('Just (wild_0123456789876543210 :: a) :: Maybe a :: Maybe a) = Let0123456789876543210XSym2 a wild_0123456789876543210 Foo8 @a ('Nothing :: Maybe a :: Maybe a) = Let0123456789876543210XSym1 a type Foo7 :: a -> b -> a- type family Foo7 (a :: a) (a :: b) :: a where+ type family Foo7 @a @b (a :: a) (a :: b) :: a where Foo7 (x :: a) (wild_0123456789876543210 :: b) = x :: a type Foo6 :: Maybe (Maybe a) -> Maybe (Maybe a)- type family Foo6 (a :: Maybe (Maybe a)) :: Maybe (Maybe a) where+ type family Foo6 @a (a :: Maybe (Maybe a)) :: Maybe (Maybe a) where Foo6 ('Just x :: Maybe (Maybe a)) = Case_0123456789876543210 a x (Let0123456789876543210Scrutinee_0123456789876543210Sym2 a x) type Foo5 :: Maybe (Maybe a) -> Maybe (Maybe a)- type family Foo5 (a :: Maybe (Maybe a)) :: Maybe (Maybe a) where+ type family Foo5 @a (a :: Maybe (Maybe a)) :: Maybe (Maybe a) where Foo5 ('Just ('Just (x :: a) :: Maybe a) :: Maybe (Maybe a)) = Apply JustSym0 (Apply JustSym0 (x :: a) :: Maybe a) :: Maybe (Maybe a) type Foo4 :: (a, b) -> (b, a)- type family Foo4 (a :: (a, b)) :: (b, a) where+ type family Foo4 @a @b (a :: (a, b)) :: (b, a) where Foo4 a_0123456789876543210 = Apply (Apply Lambda_0123456789876543210Sym0 a_0123456789876543210) a_0123456789876543210 type Foo3 :: forall a. Maybe a -> a- type family Foo3 (a :: Maybe a) :: a where+ type family Foo3 @a (a :: Maybe a) :: a where Foo3 @a ('Just x :: Maybe a) = x :: a type Foo2 :: forall a. Maybe a -> a- type family Foo2 (a :: Maybe a) :: a where+ type family Foo2 @a (a :: Maybe a) :: a where Foo2 @a ('Just x :: Maybe a :: Maybe a) = x :: a type Foo1 :: Maybe a -> a- type family Foo1 (a :: Maybe a) :: a where+ type family Foo1 @a (a :: Maybe a) :: a where Foo1 ('Just x :: Maybe a) = x :: a type family G a where G x = Case_0123456789876543210 x (Let0123456789876543210Scrutinee_0123456789876543210Sym1 x)
tests/compile-and-dump/Singletons/T184.golden view
@@ -289,8 +289,8 @@ instance SuppressUnusedWarnings (CartProdSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) CartProdSym1KindInference ()) type CartProdSym2 :: [a] -> [b] -> [(a, b)]- type family CartProdSym2 (a0123456789876543210 :: [a]) (a0123456789876543210 :: [b]) :: [(a,- b)] where+ type family CartProdSym2 @a @b (a0123456789876543210 :: [a]) (a0123456789876543210 :: [b]) :: [(a,+ b)] where CartProdSym2 a0123456789876543210 a0123456789876543210 = CartProd a0123456789876543210 a0123456789876543210 type Zip'Sym0 :: (~>) [a] ((~>) [b] [(a, b)]) data Zip'Sym0 :: (~>) [a] ((~>) [b] [(a, b)])@@ -309,8 +309,8 @@ instance SuppressUnusedWarnings (Zip'Sym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) Zip'Sym1KindInference ()) type Zip'Sym2 :: [a] -> [b] -> [(a, b)]- type family Zip'Sym2 (a0123456789876543210 :: [a]) (a0123456789876543210 :: [b]) :: [(a,- b)] where+ type family Zip'Sym2 @a @b (a0123456789876543210 :: [a]) (a0123456789876543210 :: [b]) :: [(a,+ b)] where Zip'Sym2 a0123456789876543210 a0123456789876543210 = Zip' a0123456789876543210 a0123456789876543210 type BoogieSym0 :: (~>) (Maybe a) ((~>) (Maybe Bool) (Maybe a)) data BoogieSym0 :: (~>) (Maybe a) ((~>) (Maybe Bool) (Maybe a))@@ -329,19 +329,19 @@ instance SuppressUnusedWarnings (BoogieSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) BoogieSym1KindInference ()) type BoogieSym2 :: Maybe a -> Maybe Bool -> Maybe a- type family BoogieSym2 (a0123456789876543210 :: Maybe a) (a0123456789876543210 :: Maybe Bool) :: Maybe a where+ type family BoogieSym2 @a (a0123456789876543210 :: Maybe a) (a0123456789876543210 :: Maybe Bool) :: Maybe a where BoogieSym2 a0123456789876543210 a0123456789876543210 = Boogie a0123456789876543210 a0123456789876543210 type Trues :: [Bool] -> [Bool] type family Trues (a :: [Bool]) :: [Bool] where Trues xs = Apply (Apply (>>=@#@$) xs) (Apply Lambda_0123456789876543210Sym0 xs) type CartProd :: [a] -> [b] -> [(a, b)]- type family CartProd (a :: [a]) (a :: [b]) :: [(a, b)] where+ type family CartProd @a @b (a :: [a]) (a :: [b]) :: [(a, b)] where CartProd xs ys = Apply (Apply (>>=@#@$) xs) (Apply (Apply Lambda_0123456789876543210Sym0 xs) ys) type Zip' :: [a] -> [b] -> [(a, b)]- type family Zip' (a :: [a]) (a :: [b]) :: [(a, b)] where+ type family Zip' @a @b (a :: [a]) (a :: [b]) :: [(a, b)] where Zip' xs ys = Apply (Apply (>>=@#@$) (Apply (Apply MzipSym0 (Apply (Apply (>>=@#@$) xs) (Apply (Apply Lambda_0123456789876543210Sym0 xs) ys))) (Apply (Apply (>>=@#@$) ys) (Apply (Apply Lambda_0123456789876543210Sym0 xs) ys)))) (Apply (Apply Lambda_0123456789876543210Sym0 xs) ys) type Boogie :: Maybe a -> Maybe Bool -> Maybe a- type family Boogie (a :: Maybe a) (a :: Maybe Bool) :: Maybe a where+ type family Boogie @a (a :: Maybe a) (a :: Maybe Bool) :: Maybe a where Boogie ma mb = Apply (Apply (>>=@#@$) ma) (Apply (Apply Lambda_0123456789876543210Sym0 ma) mb) sTrues :: (forall (t :: [Bool]).
tests/compile-and-dump/Singletons/T187.golden view
@@ -85,13 +85,13 @@ (%~) x _ = Proved (case x of {}) instance Eq (SEmpty (z :: Empty)) where (==) _ _ = True- instance Data.Type.Equality.TestEquality (SEmpty :: Empty- -> Type) where- Data.Type.Equality.testEquality+ instance GHC.Internal.Data.Type.Equality.TestEquality (SEmpty :: Empty+ -> Type) where+ GHC.Internal.Data.Type.Equality.testEquality = Data.Singletons.Decide.decideEquality- instance Data.Type.Coercion.TestCoercion (SEmpty :: Empty- -> Type) where- Data.Type.Coercion.testCoercion+ instance GHC.Internal.Data.Type.Coercion.TestCoercion (SEmpty :: Empty+ -> Type) where+ GHC.Internal.Data.Type.Coercion.testCoercion = Data.Singletons.Decide.decideCoercion instance Ord (SEmpty (z :: Empty)) where compare _ _ = EQ
tests/compile-and-dump/Singletons/T190.golden view
@@ -224,11 +224,13 @@ (%~) ST ST = Proved Refl instance Eq (ST (z :: T)) where (==) _ _ = True- instance Data.Type.Equality.TestEquality (ST :: T -> Type) where- Data.Type.Equality.testEquality+ instance GHC.Internal.Data.Type.Equality.TestEquality (ST :: T+ -> Type) where+ GHC.Internal.Data.Type.Equality.testEquality = Data.Singletons.Decide.decideEquality- instance Data.Type.Coercion.TestCoercion (ST :: T -> Type) where- Data.Type.Coercion.testCoercion+ instance GHC.Internal.Data.Type.Coercion.TestCoercion (ST :: T+ -> Type) where+ GHC.Internal.Data.Type.Coercion.testCoercion = Data.Singletons.Decide.decideCoercion instance Ord (ST (z :: T)) where compare _ _ = EQ
tests/compile-and-dump/Singletons/T197b.golden view
@@ -26,7 +26,7 @@ instance SuppressUnusedWarnings ((:*:@#@$$) a0123456789876543210) where suppressUnusedWarnings = snd ((,) (::*:@#@$$###) ()) type (:*:@#@$$$) :: forall a b. a -> b -> (:*:) a b- type family (:*:@#@$$$) (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: (:*:) a b where+ type family (:*:@#@$$$) @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: (:*:) a b where (:*:@#@$$$) a0123456789876543210 a0123456789876543210 = (:*:) a0123456789876543210 a0123456789876543210 type MkPairSym0 :: forall a b. (~>) a ((~>) b (Pair a b)) data MkPairSym0 :: (~>) a ((~>) b (Pair a b))@@ -47,7 +47,7 @@ suppressUnusedWarnings = snd ((,) MkPairSym1KindInference ()) infixr 9 `MkPairSym1` type MkPairSym2 :: forall a b. a -> b -> Pair a b- type family MkPairSym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: Pair a b where+ type family MkPairSym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: Pair a b where MkPairSym2 a0123456789876543210 a0123456789876543210 = MkPair a0123456789876543210 a0123456789876543210 infixr 9 `MkPairSym2` infixr 9 `SMkPair`
tests/compile-and-dump/Singletons/T204.golden view
@@ -32,7 +32,7 @@ instance SuppressUnusedWarnings ((:%@#@$$) a0123456789876543210) where suppressUnusedWarnings = snd ((,) (::%@#@$$###) ()) type (:%@#@$$$) :: forall a. a -> a -> Ratio1 a- type family (:%@#@$$$) (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Ratio1 a where+ type family (:%@#@$$$) @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Ratio1 a where (:%@#@$$$) a0123456789876543210 a0123456789876543210 = (:%) a0123456789876543210 a0123456789876543210 type (:%%@#@$) :: forall a. (~>) a ((~>) a (Ratio2 a)) data (:%%@#@$) :: (~>) a ((~>) a (Ratio2 a))@@ -51,7 +51,7 @@ instance SuppressUnusedWarnings ((:%%@#@$$) a0123456789876543210) where suppressUnusedWarnings = snd ((,) (::%%@#@$$###) ()) type (:%%@#@$$$) :: forall a. a -> a -> Ratio2 a- type family (:%%@#@$$$) (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Ratio2 a where+ type family (:%%@#@$$$) @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Ratio2 a where (:%%@#@$$$) a0123456789876543210 a0123456789876543210 = (:%%) a0123456789876543210 a0123456789876543210 data SRatio1 :: forall a. Ratio1 a -> GHC.Types.Type where
tests/compile-and-dump/Singletons/T209.golden view
@@ -45,10 +45,10 @@ instance SuppressUnusedWarnings (MSym2 a0123456789876543210 a0123456789876543210) where suppressUnusedWarnings = snd ((,) MSym2KindInference ()) type MSym3 :: a -> b -> Bool -> Bool- type family MSym3 (a0123456789876543210 :: a) (a0123456789876543210 :: b) (a0123456789876543210 :: Bool) :: Bool where+ type family MSym3 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) (a0123456789876543210 :: Bool) :: Bool where MSym3 a0123456789876543210 a0123456789876543210 a0123456789876543210 = M a0123456789876543210 a0123456789876543210 a0123456789876543210 type M :: a -> b -> Bool -> Bool- type family M (a :: a) (a :: b) (a :: Bool) :: Bool where+ type family M @a @b (a :: a) (a :: b) (a :: Bool) :: Bool where M _ _ x = x class PC a b instance PC Bool Hm
tests/compile-and-dump/Singletons/T249.golden view
@@ -16,7 +16,7 @@ instance SuppressUnusedWarnings MkFoo1Sym0 where suppressUnusedWarnings = snd ((,) MkFoo1Sym0KindInference ()) type MkFoo1Sym1 :: forall a. a -> Foo1 a- type family MkFoo1Sym1 (a0123456789876543210 :: a) :: Foo1 a where+ type family MkFoo1Sym1 @a (a0123456789876543210 :: a) :: Foo1 a where MkFoo1Sym1 a0123456789876543210 = MkFoo1 a0123456789876543210 type MkFoo2Sym0 :: (~>) x (Foo2 x) data MkFoo2Sym0 :: (~>) x (Foo2 x)@@ -27,7 +27,7 @@ instance SuppressUnusedWarnings MkFoo2Sym0 where suppressUnusedWarnings = snd ((,) MkFoo2Sym0KindInference ()) type MkFoo2Sym1 :: x -> Foo2 x- type family MkFoo2Sym1 (a0123456789876543210 :: x) :: Foo2 x where+ type family MkFoo2Sym1 @x (a0123456789876543210 :: x) :: Foo2 x where MkFoo2Sym1 a0123456789876543210 = MkFoo2 a0123456789876543210 type MkFoo3Sym0 :: forall x. (~>) x (Foo3 x) data MkFoo3Sym0 :: (~>) x (Foo3 x)@@ -38,7 +38,7 @@ instance SuppressUnusedWarnings MkFoo3Sym0 where suppressUnusedWarnings = snd ((,) MkFoo3Sym0KindInference ()) type MkFoo3Sym1 :: forall x. x -> Foo3 x- type family MkFoo3Sym1 (a0123456789876543210 :: x) :: Foo3 x where+ type family MkFoo3Sym1 @x (a0123456789876543210 :: x) :: Foo3 x where MkFoo3Sym1 a0123456789876543210 = MkFoo3 a0123456789876543210 data SFoo1 :: forall a. Foo1 a -> Type where
tests/compile-and-dump/Singletons/T271.golden view
@@ -24,7 +24,7 @@ suppressUnusedWarnings = snd ((,) ConstantSym0KindInference ()) type ConstantSym1 :: forall (a :: Type) (b :: Type). a -> Constant a b- type family ConstantSym1 (a0123456789876543210 :: a) :: Constant a b where+ type family ConstantSym1 @(a :: Type) @(b :: Type) (a0123456789876543210 :: a) :: Constant a b where ConstantSym1 a0123456789876543210 = Constant a0123456789876543210 type IdentitySym0 :: (~>) a (Identity a) data IdentitySym0 :: (~>) a (Identity a)@@ -35,11 +35,11 @@ instance SuppressUnusedWarnings IdentitySym0 where suppressUnusedWarnings = snd ((,) IdentitySym0KindInference ()) type IdentitySym1 :: a -> Identity a- type family IdentitySym1 (a0123456789876543210 :: a) :: Identity a where+ type family IdentitySym1 @a (a0123456789876543210 :: a) :: Identity a where IdentitySym1 a0123456789876543210 = Identity a0123456789876543210 type TFHelper_0123456789876543210 :: Constant a b -> Constant a b -> Bool- type family TFHelper_0123456789876543210 (a :: Constant a b) (a :: Constant a b) :: Bool where+ type family TFHelper_0123456789876543210 @a @b (a :: Constant a b) (a :: Constant a b) :: Bool where TFHelper_0123456789876543210 (Constant a_0123456789876543210) (Constant b_0123456789876543210) = Apply (Apply (==@#@$) a_0123456789876543210) b_0123456789876543210 type TFHelper_0123456789876543210Sym0 :: (~>) (Constant a b) ((~>) (Constant a b) Bool) data TFHelper_0123456789876543210Sym0 :: (~>) (Constant a b) ((~>) (Constant a b) Bool)@@ -62,13 +62,13 @@ = snd ((,) TFHelper_0123456789876543210Sym1KindInference ()) type TFHelper_0123456789876543210Sym2 :: Constant a b -> Constant a b -> Bool- type family TFHelper_0123456789876543210Sym2 (a0123456789876543210 :: Constant a b) (a0123456789876543210 :: Constant a b) :: Bool where+ type family TFHelper_0123456789876543210Sym2 @a @b (a0123456789876543210 :: Constant a b) (a0123456789876543210 :: Constant a b) :: Bool where TFHelper_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = TFHelper_0123456789876543210 a0123456789876543210 a0123456789876543210 instance PEq (Constant a b) where type (==) a a = Apply (Apply TFHelper_0123456789876543210Sym0 a) a type Compare_0123456789876543210 :: Constant a b -> Constant a b -> Ordering- type family Compare_0123456789876543210 (a :: Constant a b) (a :: Constant a b) :: Ordering where+ type family Compare_0123456789876543210 @a @b (a :: Constant a b) (a :: Constant a b) :: Ordering where Compare_0123456789876543210 (Constant a_0123456789876543210) (Constant b_0123456789876543210) = Apply (Apply (Apply FoldlSym0 (<>@#@$)) EQSym0) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) NilSym0) type Compare_0123456789876543210Sym0 :: (~>) (Constant a b) ((~>) (Constant a b) Ordering) data Compare_0123456789876543210Sym0 :: (~>) (Constant a b) ((~>) (Constant a b) Ordering)@@ -91,13 +91,13 @@ = snd ((,) Compare_0123456789876543210Sym1KindInference ()) type Compare_0123456789876543210Sym2 :: Constant a b -> Constant a b -> Ordering- type family Compare_0123456789876543210Sym2 (a0123456789876543210 :: Constant a b) (a0123456789876543210 :: Constant a b) :: Ordering where+ type family Compare_0123456789876543210Sym2 @a @b (a0123456789876543210 :: Constant a b) (a0123456789876543210 :: Constant a b) :: Ordering where Compare_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = Compare_0123456789876543210 a0123456789876543210 a0123456789876543210 instance POrd (Constant a b) where type Compare a a = Apply (Apply Compare_0123456789876543210Sym0 a) a type TFHelper_0123456789876543210 :: Identity a -> Identity a -> Bool- type family TFHelper_0123456789876543210 (a :: Identity a) (a :: Identity a) :: Bool where+ type family TFHelper_0123456789876543210 @a (a :: Identity a) (a :: Identity a) :: Bool where TFHelper_0123456789876543210 (Identity a_0123456789876543210) (Identity b_0123456789876543210) = Apply (Apply (==@#@$) a_0123456789876543210) b_0123456789876543210 type TFHelper_0123456789876543210Sym0 :: (~>) (Identity a) ((~>) (Identity a) Bool) data TFHelper_0123456789876543210Sym0 :: (~>) (Identity a) ((~>) (Identity a) Bool)@@ -120,13 +120,13 @@ = snd ((,) TFHelper_0123456789876543210Sym1KindInference ()) type TFHelper_0123456789876543210Sym2 :: Identity a -> Identity a -> Bool- type family TFHelper_0123456789876543210Sym2 (a0123456789876543210 :: Identity a) (a0123456789876543210 :: Identity a) :: Bool where+ type family TFHelper_0123456789876543210Sym2 @a (a0123456789876543210 :: Identity a) (a0123456789876543210 :: Identity a) :: Bool where TFHelper_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = TFHelper_0123456789876543210 a0123456789876543210 a0123456789876543210 instance PEq (Identity a) where type (==) a a = Apply (Apply TFHelper_0123456789876543210Sym0 a) a type Compare_0123456789876543210 :: Identity a -> Identity a -> Ordering- type family Compare_0123456789876543210 (a :: Identity a) (a :: Identity a) :: Ordering where+ type family Compare_0123456789876543210 @a (a :: Identity a) (a :: Identity a) :: Ordering where Compare_0123456789876543210 (Identity a_0123456789876543210) (Identity b_0123456789876543210) = Apply (Apply (Apply FoldlSym0 (<>@#@$)) EQSym0) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) NilSym0) type Compare_0123456789876543210Sym0 :: (~>) (Identity a) ((~>) (Identity a) Ordering) data Compare_0123456789876543210Sym0 :: (~>) (Identity a) ((~>) (Identity a) Ordering)@@ -149,7 +149,7 @@ = snd ((,) Compare_0123456789876543210Sym1KindInference ()) type Compare_0123456789876543210Sym2 :: Identity a -> Identity a -> Ordering- type family Compare_0123456789876543210Sym2 (a0123456789876543210 :: Identity a) (a0123456789876543210 :: Identity a) :: Ordering where+ type family Compare_0123456789876543210Sym2 @a (a0123456789876543210 :: Identity a) (a0123456789876543210 :: Identity a) :: Ordering where Compare_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = Compare_0123456789876543210 a0123456789876543210 a0123456789876543210 instance POrd (Identity a) where type Compare a a = Apply (Apply Compare_0123456789876543210Sym0 a) a@@ -249,14 +249,14 @@ instance Eq (SConstant (z :: Constant a b)) where (==) _ _ = True instance SDecide a =>- Data.Type.Equality.TestEquality (SConstant :: Constant a b- -> Type) where- Data.Type.Equality.testEquality+ GHC.Internal.Data.Type.Equality.TestEquality (SConstant :: Constant a b+ -> Type) where+ GHC.Internal.Data.Type.Equality.testEquality = Data.Singletons.Decide.decideEquality instance SDecide a =>- Data.Type.Coercion.TestCoercion (SConstant :: Constant a b- -> Type) where- Data.Type.Coercion.testCoercion+ GHC.Internal.Data.Type.Coercion.TestCoercion (SConstant :: Constant a b+ -> Type) where+ GHC.Internal.Data.Type.Coercion.testCoercion = Data.Singletons.Decide.decideCoercion instance SDecide a => SDecide (Identity a) where (%~) (SIdentity a) (SIdentity b)@@ -267,14 +267,14 @@ instance Eq (SIdentity (z :: Identity a)) where (==) _ _ = True instance SDecide a =>- Data.Type.Equality.TestEquality (SIdentity :: Identity a- -> Type) where- Data.Type.Equality.testEquality+ GHC.Internal.Data.Type.Equality.TestEquality (SIdentity :: Identity a+ -> Type) where+ GHC.Internal.Data.Type.Equality.testEquality = Data.Singletons.Decide.decideEquality instance SDecide a =>- Data.Type.Coercion.TestCoercion (SIdentity :: Identity a- -> Type) where- Data.Type.Coercion.testCoercion+ GHC.Internal.Data.Type.Coercion.TestCoercion (SIdentity :: Identity a+ -> Type) where+ GHC.Internal.Data.Type.Coercion.testCoercion = Data.Singletons.Decide.decideCoercion instance Ord (SConstant (z :: Constant a b)) where compare _ _ = EQ
tests/compile-and-dump/Singletons/T287.golden view
@@ -27,7 +27,7 @@ instance SuppressUnusedWarnings ((<<>>@#@$$) a0123456789876543210) where suppressUnusedWarnings = snd ((,) (:<<>>@#@$$###) ()) type (<<>>@#@$$$) :: forall a. a -> a -> a- type family (<<>>@#@$$$) (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: a where+ type family (<<>>@#@$$$) @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: a where (<<>>@#@$$$) a0123456789876543210 a0123456789876543210 = (<<>>) a0123456789876543210 a0123456789876543210 class PS a where type family (<<>>) (arg :: a) (arg :: a) :: a@@ -61,7 +61,7 @@ Lambda_0123456789876543210Sym3 f0123456789876543210 g0123456789876543210 x0123456789876543210 = Lambda_0123456789876543210 f0123456789876543210 g0123456789876543210 x0123456789876543210 type TFHelper_0123456789876543210 :: (~>) a b -> (~>) a b -> (~>) a b- type family TFHelper_0123456789876543210 (a :: (~>) a b) (a :: (~>) a b) :: (~>) a b where+ type family TFHelper_0123456789876543210 @a @b (a :: (~>) a b) (a :: (~>) a b) :: (~>) a b where TFHelper_0123456789876543210 f g = Apply (Apply Lambda_0123456789876543210Sym0 f) g type TFHelper_0123456789876543210Sym0 :: (~>) ((~>) a b) ((~>) ((~>) a b) ((~>) a b)) data TFHelper_0123456789876543210Sym0 :: (~>) ((~>) a b) ((~>) ((~>) a b) ((~>) a b))@@ -84,7 +84,7 @@ = snd ((,) TFHelper_0123456789876543210Sym1KindInference ()) type TFHelper_0123456789876543210Sym2 :: (~>) a b -> (~>) a b -> (~>) a b- type family TFHelper_0123456789876543210Sym2 (a0123456789876543210 :: (~>) a b) (a0123456789876543210 :: (~>) a b) :: (~>) a b where+ type family TFHelper_0123456789876543210Sym2 @a @b (a0123456789876543210 :: (~>) a b) (a0123456789876543210 :: (~>) a b) :: (~>) a b where TFHelper_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = TFHelper_0123456789876543210 a0123456789876543210 a0123456789876543210 instance PS ((~>) a b) where type (<<>>) a a = Apply (Apply TFHelper_0123456789876543210Sym0 a) a
tests/compile-and-dump/Singletons/T296.golden view
@@ -21,7 +21,7 @@ in z in x type MyProxySym0 :: forall (a :: Type). MyProxy a- type family MyProxySym0 :: MyProxy a where+ type family MyProxySym0 @(a :: Type) :: MyProxy a where MyProxySym0 = MyProxy data Let0123456789876543210ZSym0 a0123456789876543210 where@@ -56,10 +56,10 @@ instance SuppressUnusedWarnings FSym0 where suppressUnusedWarnings = snd ((,) FSym0KindInference ()) type FSym1 :: forall a. MyProxy a -> MyProxy a- type family FSym1 (a0123456789876543210 :: MyProxy a) :: MyProxy a where+ type family FSym1 @a (a0123456789876543210 :: MyProxy a) :: MyProxy a where FSym1 a0123456789876543210 = F a0123456789876543210 type F :: forall a. MyProxy a -> MyProxy a- type family F (a :: MyProxy a) :: MyProxy a where+ type family F @a (a :: MyProxy a) :: MyProxy a where F @a (MyProxy :: MyProxy a) = Let0123456789876543210XSym1 a sF :: forall a (t :: MyProxy a). Sing t
tests/compile-and-dump/Singletons/T297.golden view
@@ -19,13 +19,13 @@ in z in x type MyProxySym0 :: forall (a :: Type). MyProxy a- type family MyProxySym0 :: MyProxy a where+ type family MyProxySym0 @(a :: Type) :: MyProxy a where MyProxySym0 = MyProxy type Let0123456789876543210ZSym0 :: MyProxy a- type family Let0123456789876543210ZSym0 :: MyProxy a where+ type family Let0123456789876543210ZSym0 @a :: MyProxy a where Let0123456789876543210ZSym0 = Let0123456789876543210Z type Let0123456789876543210Z :: MyProxy a- type family Let0123456789876543210Z :: MyProxy a where+ type family Let0123456789876543210Z @a :: MyProxy a where Let0123456789876543210Z = MyProxySym0 type family Let0123456789876543210XSym0 where Let0123456789876543210XSym0 = Let0123456789876543210X
tests/compile-and-dump/Singletons/T312.golden view
@@ -36,7 +36,7 @@ instance SuppressUnusedWarnings (BarSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) BarSym1KindInference ()) type BarSym2 :: forall a b. a -> b -> b- type family BarSym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: b where+ type family BarSym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: b where BarSym2 a0123456789876543210 a0123456789876543210 = Bar a0123456789876543210 a0123456789876543210 type BazSym0 :: forall a b. (~>) a ((~>) b b) data BazSym0 :: (~>) a ((~>) b b)@@ -55,10 +55,10 @@ instance SuppressUnusedWarnings (BazSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) BazSym1KindInference ()) type BazSym2 :: forall a b. a -> b -> b- type family BazSym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: b where+ type family BazSym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: b where BazSym2 a0123456789876543210 a0123456789876543210 = Baz a0123456789876543210 a0123456789876543210 type Bar_0123456789876543210 :: a -> b -> b- type family Bar_0123456789876543210 (a :: a) (a :: b) :: b where+ type family Bar_0123456789876543210 @a @b (a :: a) (a :: b) :: b where Bar_0123456789876543210 _ x = x type Bar_0123456789876543210Sym0 :: (~>) a ((~>) b b) data Bar_0123456789876543210Sym0 :: (~>) a ((~>) b b)@@ -79,7 +79,7 @@ suppressUnusedWarnings = snd ((,) Bar_0123456789876543210Sym1KindInference ()) type Bar_0123456789876543210Sym2 :: a -> b -> b- type family Bar_0123456789876543210Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: b where+ type family Bar_0123456789876543210Sym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: b where Bar_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = Bar_0123456789876543210 a0123456789876543210 a0123456789876543210 data Let0123456789876543210HSym0 a_01234567898765432100123456789876543210 where@@ -118,7 +118,7 @@ type family Let0123456789876543210H a_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 (a :: c) (a :: b) :: b where Let0123456789876543210H a_0123456789876543210 a_0123456789876543210 (_ :: c) (x :: b) = x type Baz_0123456789876543210 :: a -> b -> b- type family Baz_0123456789876543210 (a :: a) (a :: b) :: b where+ type family Baz_0123456789876543210 @a @b (a :: a) (a :: b) :: b where Baz_0123456789876543210 a_0123456789876543210 a_0123456789876543210 = Apply (Apply (Let0123456789876543210HSym2 a_0123456789876543210 a_0123456789876543210) a_0123456789876543210) a_0123456789876543210 type Baz_0123456789876543210Sym0 :: (~>) a ((~>) b b) data Baz_0123456789876543210Sym0 :: (~>) a ((~>) b b)@@ -139,7 +139,7 @@ suppressUnusedWarnings = snd ((,) Baz_0123456789876543210Sym1KindInference ()) type Baz_0123456789876543210Sym2 :: a -> b -> b- type family Baz_0123456789876543210Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: b where+ type family Baz_0123456789876543210Sym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: b where Baz_0123456789876543210Sym2 a0123456789876543210 a0123456789876543210 = Baz_0123456789876543210 a0123456789876543210 a0123456789876543210 class PFoo a where type family Bar (arg :: a) (arg :: b) :: b
tests/compile-and-dump/Singletons/T316.golden view
@@ -34,9 +34,9 @@ = snd ((,) ReplaceAllGTypesSym2KindInference ()) type ReplaceAllGTypesSym3 :: (~>) a ((~>) Type a) -> [Type] -> [a] -> [a]- type family ReplaceAllGTypesSym3 (a0123456789876543210 :: (~>) a ((~>) Type a)) (a0123456789876543210 :: [Type]) (a0123456789876543210 :: [a]) :: [a] where+ type family ReplaceAllGTypesSym3 @a (a0123456789876543210 :: (~>) a ((~>) Type a)) (a0123456789876543210 :: [Type]) (a0123456789876543210 :: [a]) :: [a] where ReplaceAllGTypesSym3 a0123456789876543210 a0123456789876543210 a0123456789876543210 = ReplaceAllGTypes a0123456789876543210 a0123456789876543210 a0123456789876543210 type ReplaceAllGTypes :: (~>) a ((~>) Type a) -> [Type] -> [a] -> [a]- type family ReplaceAllGTypes (a :: (~>) a ((~>) Type a)) (a :: [Type]) (a :: [a]) :: [a] where+ type family ReplaceAllGTypes @a (a :: (~>) a ((~>) Type a)) (a :: [Type]) (a :: [a]) :: [a] where ReplaceAllGTypes f types as = Apply (Apply (Apply ZipWithSym0 f) as) types
tests/compile-and-dump/Singletons/T326.golden view
@@ -20,7 +20,7 @@ suppressUnusedWarnings = snd ((,) (:<%>@#@$$###) ()) infixl 9 <%>@#@$$ type (<%>@#@$$$) :: forall a. a -> a -> a- type family (<%>@#@$$$) (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: a where+ type family (<%>@#@$$$) @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: a where (<%>@#@$$$) a0123456789876543210 a0123456789876543210 = (<%>) a0123456789876543210 a0123456789876543210 infixl 9 <%>@#@$$$ type PC1 :: Type -> Constraint@@ -49,7 +49,7 @@ suppressUnusedWarnings = snd ((,) (:<%%>@#@$$###) ()) infixl 9 <%%>@#@$$ type (<%%>@#@$$$) :: forall a. a -> a -> a- type family (<%%>@#@$$$) (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: a where+ type family (<%%>@#@$$$) @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: a where (<%%>@#@$$$) a0123456789876543210 a0123456789876543210 = (<%%>) a0123456789876543210 a0123456789876543210 infixl 9 <%%>@#@$$$ type PC2 :: Type -> Constraint
tests/compile-and-dump/Singletons/T353.golden view
@@ -59,7 +59,8 @@ (f :: k -> Type) (g :: k -> Type) (p :: k). f p -> g p -> Prod f g p- type family MkProdSym2 (a0123456789876543210 :: f p) (a0123456789876543210 :: g p) :: Prod f g p where+ type family MkProdSym2 @k @(f :: k -> Type) @(g :: k+ -> Type) @(p :: k) (a0123456789876543210 :: f p) (a0123456789876543210 :: g p) :: Prod f g p where MkProdSym2 a0123456789876543210 a0123456789876543210 = 'MkProd a0123456789876543210 a0123456789876543210 Singletons/T353.hs:0:0:: Splicing declarations genDefunSymbols [''Foo]@@ -86,5 +87,5 @@ suppressUnusedWarnings = snd ((,) MkFooSym1KindInference ()) type MkFooSym2 :: forall k k (a :: k) (b :: k). Proxy a -> Proxy b -> Foo a b- type family MkFooSym2 (a0123456789876543210 :: Proxy a) (a0123456789876543210 :: Proxy b) :: Foo a b where+ type family MkFooSym2 @k @k @(a :: k) @(b :: k) (a0123456789876543210 :: Proxy a) (a0123456789876543210 :: Proxy b) :: Foo a b where MkFooSym2 a0123456789876543210 a0123456789876543210 = 'MkFoo a0123456789876543210 a0123456789876543210
tests/compile-and-dump/Singletons/T358.golden view
@@ -26,7 +26,7 @@ method2a _ = [] method2b _ = [] type Method1Sym0 :: forall f a. f a- type family Method1Sym0 :: f a where+ type family Method1Sym0 @f @a :: f a where Method1Sym0 = Method1 class PC1 (f :: k -> Type) where type family Method1 :: f a@@ -39,7 +39,7 @@ instance SuppressUnusedWarnings Method2aSym0 where suppressUnusedWarnings = snd ((,) Method2aSym0KindInference ()) type Method2aSym1 :: forall b a. b -> a- type family Method2aSym1 (a0123456789876543210 :: b) :: a where+ type family Method2aSym1 @b @a (a0123456789876543210 :: b) :: a where Method2aSym1 a0123456789876543210 = Method2a a0123456789876543210 type Method2bSym0 :: forall b a. (~>) b a data Method2bSym0 :: (~>) b a@@ -50,21 +50,21 @@ instance SuppressUnusedWarnings Method2bSym0 where suppressUnusedWarnings = snd ((,) Method2bSym0KindInference ()) type Method2bSym1 :: forall b a. b -> a- type family Method2bSym1 (a0123456789876543210 :: b) :: a where+ type family Method2bSym1 @b @a (a0123456789876543210 :: b) :: a where Method2bSym1 a0123456789876543210 = Method2b a0123456789876543210 class PC2 a where type family Method2a (arg :: b) :: a type family Method2b (arg :: b) :: a type Method1_0123456789876543210 :: [a]- type family Method1_0123456789876543210 :: [a] where+ type family Method1_0123456789876543210 @a :: [a] where Method1_0123456789876543210 = NilSym0 type Method1_0123456789876543210Sym0 :: [a]- type family Method1_0123456789876543210Sym0 :: [a] where+ type family Method1_0123456789876543210Sym0 @a :: [a] where Method1_0123456789876543210Sym0 = Method1_0123456789876543210 instance PC1 [] where type Method1 = Method1_0123456789876543210Sym0 type Method2a_0123456789876543210 :: b -> [a]- type family Method2a_0123456789876543210 (a :: b) :: [a] where+ type family Method2a_0123456789876543210 @b @a (a :: b) :: [a] where Method2a_0123456789876543210 _ = NilSym0 type Method2a_0123456789876543210Sym0 :: (~>) b [a] data Method2a_0123456789876543210Sym0 :: (~>) b [a]@@ -76,10 +76,10 @@ suppressUnusedWarnings = snd ((,) Method2a_0123456789876543210Sym0KindInference ()) type Method2a_0123456789876543210Sym1 :: b -> [a]- type family Method2a_0123456789876543210Sym1 (a0123456789876543210 :: b) :: [a] where+ type family Method2a_0123456789876543210Sym1 @b @a (a0123456789876543210 :: b) :: [a] where Method2a_0123456789876543210Sym1 a0123456789876543210 = Method2a_0123456789876543210 a0123456789876543210 type Method2b_0123456789876543210 :: b -> [a]- type family Method2b_0123456789876543210 (a :: b) :: [a] where+ type family Method2b_0123456789876543210 @b @a (a :: b) :: [a] where Method2b_0123456789876543210 _ = NilSym0 type Method2b_0123456789876543210Sym0 :: (~>) b [a] data Method2b_0123456789876543210Sym0 :: (~>) b [a]@@ -91,7 +91,7 @@ suppressUnusedWarnings = snd ((,) Method2b_0123456789876543210Sym0KindInference ()) type Method2b_0123456789876543210Sym1 :: b -> [a]- type family Method2b_0123456789876543210Sym1 (a0123456789876543210 :: b) :: [a] where+ type family Method2b_0123456789876543210Sym1 @b @a (a0123456789876543210 :: b) :: [a] where Method2b_0123456789876543210Sym1 a0123456789876543210 = Method2b_0123456789876543210 a0123456789876543210 instance PC2 [a] where type Method2a a = Apply Method2a_0123456789876543210Sym0 a
tests/compile-and-dump/Singletons/T367.golden view
@@ -22,10 +22,10 @@ Data.Singletons.TH.SuppressUnusedWarnings.suppressUnusedWarnings = snd ((,) Const'Sym1KindInference ()) type Const'Sym2 :: a -> b -> a- type family Const'Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where+ type family Const'Sym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where Const'Sym2 a0123456789876543210 a0123456789876543210 = Const' a0123456789876543210 a0123456789876543210 type Const' :: a -> b -> a- type family Const' (a :: a) (a :: b) :: a where+ type family Const' @a @b (a :: a) (a :: b) :: a where Const' x _ = x sConst' :: (forall (t :: a) (t :: b).
tests/compile-and-dump/Singletons/T371.golden view
@@ -14,7 +14,7 @@ = Y1 | Y2 (X a) deriving Show type X1Sym0 :: forall (a :: Type). X a- type family X1Sym0 :: X a where+ type family X1Sym0 @(a :: Type) :: X a where X1Sym0 = X1 type X2Sym0 :: forall (a :: Type). (~>) (Y a) (X a) data X2Sym0 :: (~>) (Y a) (X a)@@ -25,10 +25,10 @@ instance SuppressUnusedWarnings X2Sym0 where suppressUnusedWarnings = snd ((,) X2Sym0KindInference ()) type X2Sym1 :: forall (a :: Type). Y a -> X a- type family X2Sym1 (a0123456789876543210 :: Y a) :: X a where+ type family X2Sym1 @(a :: Type) (a0123456789876543210 :: Y a) :: X a where X2Sym1 a0123456789876543210 = X2 a0123456789876543210 type Y1Sym0 :: forall (a :: Type). Y a- type family Y1Sym0 :: Y a where+ type family Y1Sym0 @(a :: Type) :: Y a where Y1Sym0 = Y1 type Y2Sym0 :: forall (a :: Type). (~>) (X a) (Y a) data Y2Sym0 :: (~>) (X a) (Y a)@@ -39,11 +39,11 @@ instance SuppressUnusedWarnings Y2Sym0 where suppressUnusedWarnings = snd ((,) Y2Sym0KindInference ()) type Y2Sym1 :: forall (a :: Type). X a -> Y a- type family Y2Sym1 (a0123456789876543210 :: X a) :: Y a where+ type family Y2Sym1 @(a :: Type) (a0123456789876543210 :: X a) :: Y a where Y2Sym1 a0123456789876543210 = Y2 a0123456789876543210 type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural -> X a -> GHC.Types.Symbol -> GHC.Types.Symbol- type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: X a) (a :: GHC.Types.Symbol) :: GHC.Types.Symbol where+ type family ShowsPrec_0123456789876543210 @a (a :: GHC.Num.Natural.Natural) (a :: X a) (a :: GHC.Types.Symbol) :: GHC.Types.Symbol where ShowsPrec_0123456789876543210 _ X1 a_0123456789876543210 = Apply (Apply ShowStringSym0 "X1") a_0123456789876543210 ShowsPrec_0123456789876543210 p_0123456789876543210 (X2 arg_0123456789876543210) a_0123456789876543210 = 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_0123456789876543210Sym0 :: (~>) GHC.Num.Natural.Natural ((~>) (X a) ((~>) GHC.Types.Symbol GHC.Types.Symbol))@@ -77,13 +77,13 @@ = snd ((,) ShowsPrec_0123456789876543210Sym2KindInference ()) type ShowsPrec_0123456789876543210Sym3 :: GHC.Num.Natural.Natural -> X a -> GHC.Types.Symbol -> GHC.Types.Symbol- type family ShowsPrec_0123456789876543210Sym3 (a0123456789876543210 :: GHC.Num.Natural.Natural) (a0123456789876543210 :: X a) (a0123456789876543210 :: GHC.Types.Symbol) :: GHC.Types.Symbol where+ type family ShowsPrec_0123456789876543210Sym3 @a (a0123456789876543210 :: GHC.Num.Natural.Natural) (a0123456789876543210 :: X a) (a0123456789876543210 :: GHC.Types.Symbol) :: GHC.Types.Symbol where ShowsPrec_0123456789876543210Sym3 a0123456789876543210 a0123456789876543210 a0123456789876543210 = ShowsPrec_0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 instance PShow (X a) where type ShowsPrec a a a = Apply (Apply (Apply ShowsPrec_0123456789876543210Sym0 a) a) a type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural -> Y a -> GHC.Types.Symbol -> GHC.Types.Symbol- type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: Y a) (a :: GHC.Types.Symbol) :: GHC.Types.Symbol where+ type family ShowsPrec_0123456789876543210 @a (a :: GHC.Num.Natural.Natural) (a :: Y a) (a :: GHC.Types.Symbol) :: GHC.Types.Symbol where ShowsPrec_0123456789876543210 _ Y1 a_0123456789876543210 = Apply (Apply ShowStringSym0 "Y1") a_0123456789876543210 ShowsPrec_0123456789876543210 p_0123456789876543210 (Y2 arg_0123456789876543210) a_0123456789876543210 = 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_0123456789876543210Sym0 :: (~>) GHC.Num.Natural.Natural ((~>) (Y a) ((~>) GHC.Types.Symbol GHC.Types.Symbol))@@ -117,7 +117,7 @@ = snd ((,) ShowsPrec_0123456789876543210Sym2KindInference ()) type ShowsPrec_0123456789876543210Sym3 :: GHC.Num.Natural.Natural -> Y a -> GHC.Types.Symbol -> GHC.Types.Symbol- type family ShowsPrec_0123456789876543210Sym3 (a0123456789876543210 :: GHC.Num.Natural.Natural) (a0123456789876543210 :: Y a) (a0123456789876543210 :: GHC.Types.Symbol) :: GHC.Types.Symbol where+ type family ShowsPrec_0123456789876543210Sym3 @a (a0123456789876543210 :: GHC.Num.Natural.Natural) (a0123456789876543210 :: Y a) (a0123456789876543210 :: GHC.Types.Symbol) :: GHC.Types.Symbol where ShowsPrec_0123456789876543210Sym3 a0123456789876543210 a0123456789876543210 a0123456789876543210 = ShowsPrec_0123456789876543210 a0123456789876543210 a0123456789876543210 a0123456789876543210 instance PShow (Y a) where type ShowsPrec a a a = Apply (Apply (Apply ShowsPrec_0123456789876543210Sym0 a) a) a
tests/compile-and-dump/Singletons/T378a.golden view
@@ -19,16 +19,16 @@ Proxy3 :: forall a. Proxy a Proxy4 :: forall k (a :: k). Proxy a type Proxy1Sym0 :: Proxy a- type family Proxy1Sym0 :: Proxy a where+ type family Proxy1Sym0 @a :: Proxy a where Proxy1Sym0 = Proxy1 type Proxy2Sym0 :: Proxy (a :: k)- type family Proxy2Sym0 :: Proxy (a :: k) where+ type family Proxy2Sym0 @k @(a :: k) :: Proxy (a :: k) where Proxy2Sym0 = Proxy2 type Proxy3Sym0 :: forall a. Proxy a- type family Proxy3Sym0 :: Proxy a where+ type family Proxy3Sym0 @a :: Proxy a where Proxy3Sym0 = Proxy3 type Proxy4Sym0 :: forall k (a :: k). Proxy a- type family Proxy4Sym0 :: Proxy a where+ type family Proxy4Sym0 @k @(a :: k) :: Proxy a where Proxy4Sym0 = Proxy4 type ConstBASym0 :: forall b a. (~>) a ((~>) b a) data ConstBASym0 :: (~>) a ((~>) b a)@@ -47,10 +47,10 @@ instance SuppressUnusedWarnings (ConstBASym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) ConstBASym1KindInference ()) type ConstBASym2 :: forall b a. a -> b -> a- type family ConstBASym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where+ type family ConstBASym2 @b @a (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where ConstBASym2 a0123456789876543210 a0123456789876543210 = ConstBA a0123456789876543210 a0123456789876543210 type ConstBA :: forall b a. a -> b -> a- type family ConstBA (a :: a) (a :: b) :: a where+ type family ConstBA @b @a (a :: a) (a :: b) :: a where ConstBA @b @a (x :: a) (_ :: b) = x sConstBA :: forall b a (t :: a) (t :: b). Sing t
tests/compile-and-dump/Singletons/T378b.golden view
@@ -71,7 +71,7 @@ instance SuppressUnusedWarnings (FSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) FSym1KindInference ()) type FSym2 :: forall b a. a -> b -> ()- type family FSym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: () where+ type family FSym2 @b @a (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: () where FSym2 a0123456789876543210 a0123456789876543210 = F a0123456789876543210 a0123456789876543210 type NatMinus :: Nat -> Nat -> Nat type family NatMinus (a :: Nat) (a :: Nat) :: Nat where@@ -79,7 +79,7 @@ NatMinus ('Succ a) ('Succ b) = Apply (Apply NatMinusSym0 a) b NatMinus ('Succ wild_0123456789876543210) 'Zero = Let0123456789876543210ASym1 wild_0123456789876543210 type F :: forall b a. a -> b -> ()- type family F (a :: a) (a :: b) :: () where+ type family F @b @a (a :: a) (a :: b) :: () where F @b @a (_ :: a) (_ :: b) = Tuple0Sym0 type PC :: forall b a. a -> b -> Constraint class PC x y
tests/compile-and-dump/Singletons/T410.golden view
@@ -29,7 +29,7 @@ Data.Singletons.TH.SuppressUnusedWarnings.suppressUnusedWarnings = snd ((,) EqualsSym1KindInference ()) type EqualsSym2 :: forall a. a -> a -> Bool- type family EqualsSym2 (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Bool where+ type family EqualsSym2 @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Bool where EqualsSym2 a0123456789876543210 a0123456789876543210 = Equals a0123456789876543210 a0123456789876543210 class PEq a where type family Equals (arg :: a) (arg :: a) :: Bool
tests/compile-and-dump/Singletons/T412.golden view
@@ -83,7 +83,7 @@ suppressUnusedWarnings = snd ((,) MkD1Sym1KindInference ()) infixr 5 `MkD1Sym1` type MkD1Sym2 :: forall a b. a -> b -> D1 a b- type family MkD1Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: D1 a b where+ type family MkD1Sym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: D1 a b where MkD1Sym2 a0123456789876543210 a0123456789876543210 = MkD1 a0123456789876543210 a0123456789876543210 infixr 5 `MkD1Sym2` type D1BSym0 :: forall a b. (~>) (D1 a b) b@@ -96,7 +96,7 @@ suppressUnusedWarnings = snd ((,) D1BSym0KindInference ()) infixr 5 `D1BSym0` type D1BSym1 :: forall a b. D1 a b -> b- type family D1BSym1 (a0123456789876543210 :: D1 a b) :: b where+ type family D1BSym1 @a @b (a0123456789876543210 :: D1 a b) :: b where D1BSym1 a0123456789876543210 = D1B a0123456789876543210 infixr 5 `D1BSym1` type D1ASym0 :: forall a b. (~>) (D1 a b) a@@ -109,14 +109,14 @@ suppressUnusedWarnings = snd ((,) D1ASym0KindInference ()) infixr 5 `D1ASym0` type D1ASym1 :: forall a b. D1 a b -> a- type family D1ASym1 (a0123456789876543210 :: D1 a b) :: a where+ type family D1ASym1 @a @b (a0123456789876543210 :: D1 a b) :: a where D1ASym1 a0123456789876543210 = D1A a0123456789876543210 infixr 5 `D1ASym1` type D1B :: forall a b. D1 a b -> b- type family D1B (a :: D1 a b) :: b where+ type family D1B @a @b (a :: D1 a b) :: b where D1B @a @b (MkD1 _ field :: D1 a b) = field type D1A :: forall a b. D1 a b -> a- type family D1A (a :: D1 a b) :: a where+ type family D1A @a @b (a :: D1 a b) :: a where D1A @a @b (MkD1 field _ :: D1 a b) = field infixr 5 `D1B` infixr 5 `D1A`@@ -140,7 +140,7 @@ suppressUnusedWarnings = snd ((,) M1Sym1KindInference ()) infix 6 `M1Sym1` type M1Sym2 :: forall a b. a -> b -> Bool- type family M1Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: Bool where+ type family M1Sym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: Bool where M1Sym2 a0123456789876543210 a0123456789876543210 = M1 a0123456789876543210 a0123456789876543210 infix 6 `M1Sym2` class PC1 a b where@@ -220,7 +220,7 @@ suppressUnusedWarnings = snd ((,) M2Sym1KindInference ()) infix 6 `M2Sym1` type M2Sym2 :: forall a b. a -> b -> Bool- type family M2Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: Bool where+ type family M2Sym2 @a @b (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: Bool where M2Sym2 a0123456789876543210 a0123456789876543210 = M2 a0123456789876543210 a0123456789876543210 infix 6 `M2Sym2` type PC2 :: Type -> Type -> Constraint@@ -308,7 +308,7 @@ suppressUnusedWarnings = snd ((,) MkD2Sym1KindInference ()) infixr 5 `MkD2Sym1` type MkD2Sym2 :: forall (a :: Type) (b :: Type). a -> b -> D2 a b- type family MkD2Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: D2 a b where+ type family MkD2Sym2 @(a :: Type) @(b :: Type) (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: D2 a b where MkD2Sym2 a0123456789876543210 a0123456789876543210 = 'MkD2 a0123456789876543210 a0123456789876543210 infixr 5 `MkD2Sym2` infixr 5 `D2A`@@ -322,7 +322,7 @@ instance SuppressUnusedWarnings D2BSym0 where suppressUnusedWarnings = snd ((,) D2BSym0KindInference ()) type D2BSym1 :: forall (a :: Type) (b :: Type). D2 a b -> b- type family D2BSym1 (a0123456789876543210 :: D2 a b) :: b where+ type family D2BSym1 @(a :: Type) @(b :: Type) (a0123456789876543210 :: D2 a b) :: b where D2BSym1 a0123456789876543210 = D2B a0123456789876543210 type D2ASym0 :: forall (a :: Type) (b :: Type). (~>) (D2 a b) a data D2ASym0 :: (~>) (D2 a b) a@@ -333,13 +333,13 @@ instance SuppressUnusedWarnings D2ASym0 where suppressUnusedWarnings = snd ((,) D2ASym0KindInference ()) type D2ASym1 :: forall (a :: Type) (b :: Type). D2 a b -> a- type family D2ASym1 (a0123456789876543210 :: D2 a b) :: a where+ type family D2ASym1 @(a :: Type) @(b :: Type) (a0123456789876543210 :: D2 a b) :: a where D2ASym1 a0123456789876543210 = D2A a0123456789876543210 type D2B :: forall (a :: Type) (b :: Type). D2 a b -> b- type family D2B (a :: D2 a b) :: b where+ type family D2B @(a :: Type) @(b :: Type) (a :: D2 a b) :: b where D2B @a @b ('MkD2 _ field :: D2 a b) = field type D2A :: forall (a :: Type) (b :: Type). D2 a b -> a- type family D2A (a :: D2 a b) :: a where+ type family D2A @(a :: Type) @(b :: Type) (a :: D2 a b) :: a where D2A @a @b ('MkD2 field _ :: D2 a b) = field sD2B :: forall (a :: Type) (b :: Type) (t :: D2 a b). Sing t
tests/compile-and-dump/Singletons/T433.golden view
@@ -192,7 +192,7 @@ instance SuppressUnusedWarnings Id8Sym0 where suppressUnusedWarnings = snd ((,) Id8Sym0KindInference ()) type Id8Sym1 :: a -> a- type family Id8Sym1 (a0123456789876543210 :: a) :: a where+ type family Id8Sym1 @a (a0123456789876543210 :: a) :: a where Id8Sym1 a0123456789876543210 = Id8 a0123456789876543210 data Id7Sym0 a0123456789876543210 where@@ -212,7 +212,7 @@ instance SuppressUnusedWarnings Id6Sym0 where suppressUnusedWarnings = snd ((,) Id6Sym0KindInference ()) type Id6Sym1 :: a -> a- type family Id6Sym1 (a0123456789876543210 :: a) :: a where+ type family Id6Sym1 @a (a0123456789876543210 :: a) :: a where Id6Sym1 a0123456789876543210 = Id6 a0123456789876543210 type Id5Sym0 :: forall a. (~>) a a data Id5Sym0 :: (~>) a a@@ -223,7 +223,7 @@ instance SuppressUnusedWarnings Id5Sym0 where suppressUnusedWarnings = snd ((,) Id5Sym0KindInference ()) type Id5Sym1 :: forall a. a -> a- type family Id5Sym1 (a0123456789876543210 :: a) :: a where+ type family Id5Sym1 @a (a0123456789876543210 :: a) :: a where Id5Sym1 a0123456789876543210 = Id5 a0123456789876543210 type Id4Sym0 :: forall a. (~>) a a data Id4Sym0 :: (~>) a a@@ -234,7 +234,7 @@ instance SuppressUnusedWarnings Id4Sym0 where suppressUnusedWarnings = snd ((,) Id4Sym0KindInference ()) type Id4Sym1 :: forall a. a -> a- type family Id4Sym1 (a0123456789876543210 :: a) :: a where+ type family Id4Sym1 @a (a0123456789876543210 :: a) :: a where Id4Sym1 a0123456789876543210 = Id4 a0123456789876543210 type Id3Sym0 :: (~>) a a data Id3Sym0 :: (~>) a a@@ -245,7 +245,7 @@ instance SuppressUnusedWarnings Id3Sym0 where suppressUnusedWarnings = snd ((,) Id3Sym0KindInference ()) type Id3Sym1 :: a -> a- type family Id3Sym1 (a0123456789876543210 :: a) :: a where+ type family Id3Sym1 @a (a0123456789876543210 :: a) :: a where Id3Sym1 a0123456789876543210 = Id3 a0123456789876543210 type Id2Sym0 :: forall a. (~>) a a data Id2Sym0 :: (~>) a a@@ -256,7 +256,7 @@ instance SuppressUnusedWarnings Id2Sym0 where suppressUnusedWarnings = snd ((,) Id2Sym0KindInference ()) type Id2Sym1 :: forall a. a -> a- type family Id2Sym1 (a0123456789876543210 :: a) :: a where+ type family Id2Sym1 @a (a0123456789876543210 :: a) :: a where Id2Sym1 a0123456789876543210 = Id2 a0123456789876543210 type FooSym0 :: forall a. (~>) a () data FooSym0 :: (~>) a ()@@ -267,7 +267,7 @@ instance SuppressUnusedWarnings FooSym0 where suppressUnusedWarnings = snd ((,) FooSym0KindInference ()) type FooSym1 :: forall a. a -> ()- type family FooSym1 (a0123456789876543210 :: a) :: () where+ type family FooSym1 @a (a0123456789876543210 :: a) :: () where FooSym1 a0123456789876543210 = Foo a0123456789876543210 data FSym0 a0123456789876543210 where@@ -295,7 +295,7 @@ instance SuppressUnusedWarnings (Konst2Sym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) Konst2Sym1KindInference ()) type Konst2Sym2 :: a -> Maybe Bool -> a- type family Konst2Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: Maybe Bool) :: a where+ type family Konst2Sym2 @a (a0123456789876543210 :: a) (a0123456789876543210 :: Maybe Bool) :: a where Konst2Sym2 a0123456789876543210 a0123456789876543210 = Konst2 a0123456789876543210 a0123456789876543210 type Konst1Sym0 :: (~>) a ((~>) Bool a) data Konst1Sym0 :: (~>) a ((~>) Bool a)@@ -314,36 +314,36 @@ instance SuppressUnusedWarnings (Konst1Sym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) Konst1Sym1KindInference ()) type Konst1Sym2 :: a -> Bool -> a- type family Konst1Sym2 (a0123456789876543210 :: a) (a0123456789876543210 :: Bool) :: a where+ type family Konst1Sym2 @a (a0123456789876543210 :: a) (a0123456789876543210 :: Bool) :: a where Konst1Sym2 a0123456789876543210 a0123456789876543210 = Konst1 a0123456789876543210 a0123456789876543210 type Id8 :: a -> a- type family Id8 (a :: a) :: a where+ type family Id8 @a (a :: a) :: a where Id8 x = Apply (Apply (Let0123456789876543210GSym1 x) x) TrueSym0 type family Id7 a where Id7 (x :: b) = Let0123456789876543210GSym2 b x type Id6 :: a -> a- type family Id6 (a :: a) :: a where+ type family Id6 @a (a :: a) :: a where Id6 (x :: b) = Let0123456789876543210GSym2 b x type Id5 :: forall a. a -> a- type family Id5 (a :: a) :: a where+ type family Id5 @a (a :: a) :: a where Id5 @a (a_0123456789876543210 :: a) = Apply (Let0123456789876543210GSym2 a a_0123456789876543210) a_0123456789876543210 type Id4 :: forall a. a -> a- type family Id4 (a :: a) :: a where+ type family Id4 @a (a :: a) :: a where Id4 @a (x :: a :: a) = Apply IdSym0 (x :: a) type Id3 :: a -> a- type family Id3 (a :: a) :: a where+ type family Id3 @a (a :: a) :: a where Id3 (x :: b) = Apply IdSym0 (x :: b) type Id2 :: forall a. a -> a- type family Id2 (a :: a) :: a where+ type family Id2 @a (a :: a) :: a where Id2 @a (x :: a) = Apply IdSym0 (x :: a) type Foo :: forall a. a -> ()- type family Foo (a :: a) :: () where+ type family Foo @a (a :: a) :: () where Foo @a (x :: a) = Apply (Apply ConstSym0 Tuple0Sym0) (NothingSym0 :: Maybe a) type family F a where F local = Let0123456789876543210GSym1 local type Konst2 :: a -> Maybe Bool -> a- type family Konst2 (a :: a) (a :: Maybe Bool) :: a where+ type family Konst2 @a (a :: a) (a :: Maybe Bool) :: a where Konst2 x _ = x type Konst1 :: a -> Bool -> a- type family Konst1 (a :: a) (a :: Bool) :: a where+ type family Konst1 @a (a :: a) (a :: Bool) :: a where Konst1 x _ = x
tests/compile-and-dump/Singletons/T443.golden view
@@ -27,7 +27,7 @@ type family SSym1 (a0123456789876543210 :: Nat) :: Nat where SSym1 a0123456789876543210 = S a0123456789876543210 type VNilSym0 :: Vec Z a- type family VNilSym0 :: Vec Z a where+ type family VNilSym0 @a :: Vec Z a where VNilSym0 = VNil type (:>@#@$) :: (~>) a ((~>) (Vec n a) (Vec (S n) a)) data (:>@#@$) :: (~>) a ((~>) (Vec n a) (Vec (S n) a))@@ -46,7 +46,7 @@ instance SuppressUnusedWarnings ((:>@#@$$) a0123456789876543210) where suppressUnusedWarnings = snd ((,) (::>@#@$$###) ()) type (:>@#@$$$) :: a -> Vec n a -> Vec (S n) a- type family (:>@#@$$$) (a0123456789876543210 :: a) (a0123456789876543210 :: Vec n a) :: Vec (S n) a where+ type family (:>@#@$$$) @a @n (a0123456789876543210 :: a) (a0123456789876543210 :: Vec n a) :: Vec (S n) a where (:>@#@$$$) a0123456789876543210 a0123456789876543210 = (:>) a0123456789876543210 a0123456789876543210 type TailSym0 :: (~>) (Vec (S n) a) (Vec n a) data TailSym0 :: (~>) (Vec (S n) a) (Vec n a)@@ -57,7 +57,7 @@ instance SuppressUnusedWarnings TailSym0 where suppressUnusedWarnings = snd ((,) TailSym0KindInference ()) type TailSym1 :: Vec (S n) a -> Vec n a- type family TailSym1 (a0123456789876543210 :: Vec (S n) a) :: Vec n a where+ type family TailSym1 @n @a (a0123456789876543210 :: Vec (S n) a) :: Vec n a where TailSym1 a0123456789876543210 = Tail a0123456789876543210 type HeadSym0 :: (~>) (Vec (S n) a) a data HeadSym0 :: (~>) (Vec (S n) a) a@@ -68,13 +68,13 @@ instance SuppressUnusedWarnings HeadSym0 where suppressUnusedWarnings = snd ((,) HeadSym0KindInference ()) type HeadSym1 :: Vec (S n) a -> a- type family HeadSym1 (a0123456789876543210 :: Vec (S n) a) :: a where+ type family HeadSym1 @n @a (a0123456789876543210 :: Vec (S n) a) :: a where HeadSym1 a0123456789876543210 = Head a0123456789876543210 type Tail :: Vec (S n) a -> Vec n a- type family Tail (a :: Vec (S n) a) :: Vec n a where+ type family Tail @n @a (a :: Vec (S n) a) :: Vec n a where Tail ((:>) _ field) = field type Head :: Vec (S n) a -> a- type family Head (a :: Vec (S n) a) :: a where+ type family Head @n @a (a :: Vec (S n) a) :: a where Head ((:>) field _) = field sTail :: (forall (t :: Vec (S n) a).
tests/compile-and-dump/Singletons/T450.golden view
@@ -128,7 +128,7 @@ suppressUnusedWarnings = snd ((,) PMkFunctionSym0KindInference ()) type PMkFunctionSym1 :: forall (a :: Type) (b :: Type). (~>) a b -> PFunction a b- type family PMkFunctionSym1 (a0123456789876543210 :: (~>) a b) :: PFunction a b where+ type family PMkFunctionSym1 @(a :: Type) @(b :: Type) (a0123456789876543210 :: (~>) a b) :: PFunction a b where PMkFunctionSym1 a0123456789876543210 = 'PMkFunction a0123456789876543210 type SFunction :: forall (a :: Type) (b :: Type). PFunction a b -> Type@@ -176,11 +176,11 @@ = snd ((,) ComposeFunctionSym1KindInference ()) type ComposeFunctionSym2 :: PFunction b c -> PFunction a b -> PFunction a c- type family ComposeFunctionSym2 (a0123456789876543210 :: PFunction b c) (a0123456789876543210 :: PFunction a b) :: PFunction a c where+ type family ComposeFunctionSym2 @b @c @a (a0123456789876543210 :: PFunction b c) (a0123456789876543210 :: PFunction a b) :: PFunction a c where ComposeFunctionSym2 a0123456789876543210 a0123456789876543210 = ComposeFunction a0123456789876543210 a0123456789876543210 type ComposeFunction :: PFunction b c -> PFunction a b -> PFunction a c- type family ComposeFunction (a :: PFunction b c) (a :: PFunction a b) :: PFunction a c where+ type family ComposeFunction @b @c @a (a :: PFunction b c) (a :: PFunction a b) :: PFunction a c where ComposeFunction ('PMkFunction (f :: (~>) b c)) ('PMkFunction (g :: (~>) a b)) = Apply PMkFunctionSym0 (Apply (Apply (.@#@$) f) g :: (~>) a c) sComposeFunction :: (forall (t :: PFunction b c) (t :: PFunction a b).
tests/compile-and-dump/Singletons/T470.golden view
@@ -23,7 +23,7 @@ instance SuppressUnusedWarnings MkT1Sym0 where suppressUnusedWarnings = snd ((,) MkT1Sym0KindInference ()) type MkT1Sym1 :: a -> T a- type family MkT1Sym1 (a0123456789876543210 :: a) :: T a where+ type family MkT1Sym1 @a (a0123456789876543210 :: a) :: T a where MkT1Sym1 a0123456789876543210 = MkT1 a0123456789876543210 type MkT2Sym0 :: (~>) Void (T a) data MkT2Sym0 :: (~>) Void (T a)@@ -34,7 +34,7 @@ instance SuppressUnusedWarnings MkT2Sym0 where suppressUnusedWarnings = snd ((,) MkT2Sym0KindInference ()) type MkT2Sym1 :: Void -> T a- type family MkT2Sym1 (a0123456789876543210 :: Void) :: T a where+ type family MkT2Sym1 @a (a0123456789876543210 :: Void) :: T a where MkT2Sym1 a0123456789876543210 = MkT2 a0123456789876543210 type MkSSym0 :: (~>) Bool S data MkSSym0 :: (~>) Bool S@@ -88,9 +88,9 @@ liftSing = SMkS instance SingI (MkSSym0 :: (~>) Bool S) where sing = singFun1 @MkSSym0 SMkS- Singletons/T470.hs:0:0: warning: [GHC-39584] {-# UNPACK #-} pragmas are ignored by `singletons-th`. | 6 | $(singletons [d| | ^^^^^^^^^^^^^^^...+
tests/compile-and-dump/Singletons/T489.golden view
@@ -33,14 +33,14 @@ instance SuppressUnusedWarnings BlahSym0 where suppressUnusedWarnings = snd ((,) BlahSym0KindInference ()) type BlahSym1 :: Maybe a -> [a]- type family BlahSym1 (a0123456789876543210 :: Maybe a) :: [a] where+ type family BlahSym1 @a (a0123456789876543210 :: Maybe a) :: [a] where BlahSym1 a0123456789876543210 = Blah a0123456789876543210 type Flurmp :: Maybe () -> () type family Flurmp (a :: Maybe ()) :: () where Flurmp ('Nothing @_) = Tuple0Sym0 Flurmp ('Just '()) = Tuple0Sym0 type Blah :: Maybe a -> [a]- type family Blah (a :: Maybe a) :: [a] where+ type family Blah @a (a :: Maybe a) :: [a] where Blah ('Just @a x) = Apply (Apply (:@#@$) (x :: a)) NilSym0 Blah ('Nothing @a) = NilSym0 :: [a] sFlurmp ::
tests/compile-and-dump/Singletons/T511.golden view
@@ -1,4 +1,3 @@- Singletons/T511.hs:0:0: error: [GHC-39584] Q monad failure | 7 | $(singletons [d|@@ -6,8 +5,9 @@ Singletons/T511.hs:0:0: error: [GHC-39584] `singletons-th` does not support partial applications of (->)- In the type: Data.Proxy.Proxy (->)+ In the type: GHC.Internal.Data.Proxy.Proxy (->) | 7 | $(singletons [d| | ^^^^^^^^^^^^^^^...+
tests/compile-and-dump/Singletons/T536.golden view
@@ -76,24 +76,26 @@ Data.Singletons.Decide.SDecide PMessage where (Data.Singletons.Decide.%~) (SMkMessage a) (SMkMessage b) = case (Data.Singletons.Decide.%~) a b of- Data.Singletons.Decide.Proved Data.Type.Equality.Refl- -> Data.Singletons.Decide.Proved Data.Type.Equality.Refl+ Data.Singletons.Decide.Proved GHC.Internal.Data.Type.Equality.Refl+ -> Data.Singletons.Decide.Proved+ GHC.Internal.Data.Type.Equality.Refl Data.Singletons.Decide.Disproved contra -> Data.Singletons.Decide.Disproved (\ refl -> case refl of- Data.Type.Equality.Refl -> contra Data.Type.Equality.Refl)+ GHC.Internal.Data.Type.Equality.Refl+ -> contra GHC.Internal.Data.Type.Equality.Refl) instance Eq (SMessage (z :: PMessage)) where (==) _ _ = True instance Data.Singletons.Decide.SDecide Text =>- Data.Type.Equality.TestEquality (SMessage :: PMessage- -> Type) where- Data.Type.Equality.testEquality+ GHC.Internal.Data.Type.Equality.TestEquality (SMessage :: PMessage+ -> Type) where+ GHC.Internal.Data.Type.Equality.testEquality = Data.Singletons.Decide.decideEquality instance Data.Singletons.Decide.SDecide Text =>- Data.Type.Coercion.TestCoercion (SMessage :: PMessage- -> Type) where- Data.Type.Coercion.testCoercion+ GHC.Internal.Data.Type.Coercion.TestCoercion (SMessage :: PMessage+ -> Type) where+ GHC.Internal.Data.Type.Coercion.testCoercion = Data.Singletons.Decide.decideCoercion deriving instance Data.Singletons.ShowSing.ShowSing Text => Show (SMessage (z :: PMessage))
tests/compile-and-dump/Singletons/T555.golden view
@@ -190,13 +190,13 @@ (%~) SQuaternion SQuaternion = Proved Refl instance Eq (SMyPropKind (z :: MyPropKind)) where (==) _ _ = True- instance Data.Type.Equality.TestEquality (SMyPropKind :: MyPropKind- -> Type) where- Data.Type.Equality.testEquality+ instance GHC.Internal.Data.Type.Equality.TestEquality (SMyPropKind :: MyPropKind+ -> Type) where+ GHC.Internal.Data.Type.Equality.testEquality = Data.Singletons.Decide.decideEquality- instance Data.Type.Coercion.TestCoercion (SMyPropKind :: MyPropKind- -> Type) where- Data.Type.Coercion.testCoercion+ instance GHC.Internal.Data.Type.Coercion.TestCoercion (SMyPropKind :: MyPropKind+ -> Type) where+ GHC.Internal.Data.Type.Coercion.testCoercion = Data.Singletons.Decide.decideCoercion instance Ord (SMyPropKind (z :: MyPropKind)) where compare _ _ = EQ
tests/compile-and-dump/Singletons/T567.golden view
@@ -20,16 +20,16 @@ type D4 :: forall k. forall (a :: k) -> Proxy a -> Type data D4 (x :: j) (p :: Proxy x) = MkD4 type MkD1Sym0 :: forall x p. D1 x p- type family MkD1Sym0 :: D1 x p where+ type family MkD1Sym0 @x @p :: D1 x p where MkD1Sym0 = MkD1 type MkD2Sym0 :: forall j (x :: j) p. D2 x p- type family MkD2Sym0 :: D2 x p where+ type family MkD2Sym0 @j @(x :: j) @p :: D2 x p where MkD2Sym0 = MkD2 type MkD3Sym0 :: forall x (p :: Proxy x). D3 x p- type family MkD3Sym0 :: D3 x p where+ type family MkD3Sym0 @x @(p :: Proxy x) :: D3 x p where MkD3Sym0 = MkD3 type MkD4Sym0 :: forall j (x :: j) (p :: Proxy x). D4 x p- type family MkD4Sym0 :: D4 x p where+ type family MkD4Sym0 @j @(x :: j) @(p :: Proxy x) :: D4 x p where MkD4Sym0 = MkD4 type SD1 :: forall k (x :: k) (p :: Proxy x). D1 x p -> Type data SD1 :: forall k (x :: k) (p :: Proxy x). D1 x p -> Type
tests/compile-and-dump/Singletons/T571.golden view
@@ -14,10 +14,10 @@ instance SuppressUnusedWarnings FSym0 where suppressUnusedWarnings = snd ((,) FSym0KindInference ()) type FSym1 :: a -> a- type family FSym1 (a0123456789876543210 :: a) :: a where+ type family FSym1 @a (a0123456789876543210 :: a) :: a where FSym1 a0123456789876543210 = F a0123456789876543210 type F :: a -> a- type family F (a :: a) :: a where+ type family F @a (a :: a) :: a where F x = x sF :: (forall (t :: a). Sing t -> Sing (Apply FSym0 t :: a) :: Type)@@ -48,10 +48,10 @@ instance SuppressUnusedWarnings (GSym1 a0123456789876543210) where suppressUnusedWarnings = snd ((,) GSym1KindInference ()) type GSym2 :: (~>) a a -> a -> a- type family GSym2 (a0123456789876543210 :: (~>) a a) (a0123456789876543210 :: a) :: a where+ type family GSym2 @a (a0123456789876543210 :: (~>) a a) (a0123456789876543210 :: a) :: a where GSym2 a0123456789876543210 a0123456789876543210 = G a0123456789876543210 a0123456789876543210 type G :: (~>) a a -> a -> a- type family G (a :: (~>) a a) (a :: a) :: a where+ type family G @a (a :: (~>) a a) (a :: a) :: a where G f x = Apply f x sG :: (forall (t :: (~>) a a) (t :: a).
+ tests/compile-and-dump/Singletons/T585.golden view
@@ -0,0 +1,40 @@+Singletons/T585.hs:(0,0)-(0,0): Splicing declarations+ singletons+ [d| konst :: forall a {b}. a -> b -> a+ konst x _ = x |]+ ======>+ konst :: forall a {b}. a -> b -> a+ konst x _ = x+ type KonstSym0 :: forall a {b}. (~>) a ((~>) b a)+ data KonstSym0 :: (~>) a ((~>) b a)+ where+ KonstSym0KindInference :: SameKind (Apply KonstSym0 arg) (KonstSym1 arg) =>+ KonstSym0 a0123456789876543210+ type instance Apply KonstSym0 a0123456789876543210 = KonstSym1 a0123456789876543210+ instance SuppressUnusedWarnings KonstSym0 where+ suppressUnusedWarnings = snd ((,) KonstSym0KindInference ())+ type KonstSym1 :: forall a {b}. a -> (~>) b a+ data KonstSym1 (a0123456789876543210 :: a) :: (~>) b a+ where+ KonstSym1KindInference :: SameKind (Apply (KonstSym1 a0123456789876543210) arg) (KonstSym2 a0123456789876543210 arg) =>+ KonstSym1 a0123456789876543210 a0123456789876543210+ type instance Apply (KonstSym1 a0123456789876543210) a0123456789876543210 = Konst a0123456789876543210 a0123456789876543210+ instance SuppressUnusedWarnings (KonstSym1 a0123456789876543210) where+ suppressUnusedWarnings = snd ((,) KonstSym1KindInference ())+ type KonstSym2 :: forall a {b}. a -> b -> a+ type family KonstSym2 @a (a0123456789876543210 :: a) (a0123456789876543210 :: b) :: a where+ KonstSym2 a0123456789876543210 a0123456789876543210 = Konst a0123456789876543210 a0123456789876543210+ type Konst :: forall a {b}. a -> b -> a+ type family Konst @a (a :: a) (a :: b) :: a where+ Konst @a (x :: a) (_ :: b) = x+ sKonst ::+ forall a {b} (t :: a) (t :: b). Sing t+ -> Sing t -> Sing (Apply (Apply KonstSym0 t) t :: a)+ sKonst (sX :: Sing x) _ = sX+ instance SingI (KonstSym0 :: (~>) a ((~>) b a)) where+ sing = singFun2 @KonstSym0 sKonst+ instance SingI d => SingI (KonstSym1 (d :: a) :: (~>) b a) where+ sing = singFun1 @(KonstSym1 (d :: a)) (sKonst (sing @d))+ instance SingI1 (KonstSym1 :: a -> (~>) b a) where+ liftSing (s :: Sing (d :: a))+ = singFun1 @(KonstSym1 (d :: a)) (sKonst s)
+ tests/compile-and-dump/Singletons/T585.hs view
@@ -0,0 +1,8 @@+module T585 where++import Data.Singletons.TH++$(singletons [d|+ konst :: forall a {b}. a -> b -> a+ konst x _ = x+ |])
tests/compile-and-dump/Singletons/TopLevelPatterns.golden view
@@ -19,7 +19,7 @@ type instance Apply BarSym0 a0123456789876543210 = BarSym1 a0123456789876543210 instance SuppressUnusedWarnings BarSym0 where suppressUnusedWarnings- = Data.Tuple.snd ((,) BarSym0KindInference ())+ = GHC.Internal.Data.Tuple.snd ((,) BarSym0KindInference ()) type BarSym1 :: Bool -> (~>) Bool Foo data BarSym1 (a0123456789876543210 :: Bool) :: (~>) Bool Foo where@@ -28,7 +28,7 @@ type instance Apply (BarSym1 a0123456789876543210) a0123456789876543210 = Bar a0123456789876543210 a0123456789876543210 instance SuppressUnusedWarnings (BarSym1 a0123456789876543210) where suppressUnusedWarnings- = Data.Tuple.snd ((,) BarSym1KindInference ())+ = GHC.Internal.Data.Tuple.snd ((,) BarSym1KindInference ()) type BarSym2 :: Bool -> Bool -> Foo type family BarSym2 (a0123456789876543210 :: Bool) (a0123456789876543210 :: Bool) :: Foo where BarSym2 a0123456789876543210 a0123456789876543210 = Bar a0123456789876543210 a0123456789876543210@@ -159,7 +159,8 @@ ISym0 a0123456789876543210 type instance Apply ISym0 a0123456789876543210 = I a0123456789876543210 instance SuppressUnusedWarnings ISym0 where- suppressUnusedWarnings = Data.Tuple.snd ((,) ISym0KindInference ())+ suppressUnusedWarnings+ = GHC.Internal.Data.Tuple.snd ((,) ISym0KindInference ()) type ISym1 :: Bool -> Bool type family ISym1 (a0123456789876543210 :: Bool) :: Bool where ISym1 a0123456789876543210 = I a0123456789876543210@@ -170,7 +171,8 @@ HSym0 a0123456789876543210 type instance Apply HSym0 a0123456789876543210 = H a0123456789876543210 instance SuppressUnusedWarnings HSym0 where- suppressUnusedWarnings = Data.Tuple.snd ((,) HSym0KindInference ())+ suppressUnusedWarnings+ = GHC.Internal.Data.Tuple.snd ((,) HSym0KindInference ()) type HSym1 :: Bool -> Bool type family HSym1 (a0123456789876543210 :: Bool) :: Bool where HSym1 a0123456789876543210 = H a0123456789876543210@@ -183,7 +185,8 @@ GSym0 a0123456789876543210 type instance Apply GSym0 a0123456789876543210 = G a0123456789876543210 instance SuppressUnusedWarnings GSym0 where- suppressUnusedWarnings = Data.Tuple.snd ((,) GSym0KindInference ())+ suppressUnusedWarnings+ = GHC.Internal.Data.Tuple.snd ((,) GSym0KindInference ()) type GSym1 :: Bool -> Bool type family GSym1 (a0123456789876543210 :: Bool) :: Bool where GSym1 a0123456789876543210 = G a0123456789876543210@@ -194,7 +197,8 @@ FSym0 a0123456789876543210 type instance Apply FSym0 a0123456789876543210 = F a0123456789876543210 instance SuppressUnusedWarnings FSym0 where- suppressUnusedWarnings = Data.Tuple.snd ((,) FSym0KindInference ())+ suppressUnusedWarnings+ = GHC.Internal.Data.Tuple.snd ((,) FSym0KindInference ()) type FSym1 :: Bool -> Bool type family FSym1 (a0123456789876543210 :: Bool) :: Bool where FSym1 a0123456789876543210 = F a0123456789876543210@@ -210,7 +214,7 @@ type instance Apply NotSym0 a0123456789876543210 = Not a0123456789876543210 instance SuppressUnusedWarnings NotSym0 where suppressUnusedWarnings- = Data.Tuple.snd ((,) NotSym0KindInference ())+ = GHC.Internal.Data.Tuple.snd ((,) NotSym0KindInference ()) type NotSym1 :: Bool -> Bool type family NotSym1 (a0123456789876543210 :: Bool) :: Bool where NotSym1 a0123456789876543210 = Not a0123456789876543210@@ -222,9 +226,9 @@ type instance Apply IdSym0 a0123456789876543210 = Id a0123456789876543210 instance SuppressUnusedWarnings IdSym0 where suppressUnusedWarnings- = Data.Tuple.snd ((,) IdSym0KindInference ())+ = GHC.Internal.Data.Tuple.snd ((,) IdSym0KindInference ()) type IdSym1 :: a -> a- type family IdSym1 (a0123456789876543210 :: a) :: a where+ type family IdSym1 @a (a0123456789876543210 :: a) :: a where IdSym1 a0123456789876543210 = Id a0123456789876543210 type OtherwiseSym0 :: Bool type family OtherwiseSym0 :: Bool where@@ -268,7 +272,7 @@ Not 'True = FalseSym0 Not 'False = TrueSym0 type Id :: a -> a- type family Id (a :: a) :: a where+ type family Id @a (a :: a) :: a where Id x = x type Otherwise :: Bool type family Otherwise :: Bool where@@ -301,14 +305,14 @@ (forall (t :: a). Sing t -> Sing (Apply IdSym0 t :: a) :: Type) sOtherwise :: (Sing (OtherwiseSym0 :: Bool) :: Type) sM- = GHC.Base.id+ = GHC.Internal.Base.id @(Sing (Case_0123456789876543210 X_0123456789876543210Sym0)) (case sX_0123456789876543210 of SCons _ (SCons (sY_0123456789876543210 :: Sing y_0123456789876543210) SNil) -> sY_0123456789876543210) sL- = GHC.Base.id+ = GHC.Internal.Base.id @(Sing (Case_0123456789876543210 X_0123456789876543210Sym0)) (case sX_0123456789876543210 of SCons (sY_0123456789876543210 :: Sing y_0123456789876543210)@@ -325,13 +329,13 @@ (applySing (singFun1 @IdSym0 sId) SFalse)) SNil) sK- = GHC.Base.id+ = GHC.Internal.Base.id @(Sing (Case_0123456789876543210 X_0123456789876543210Sym0)) (case sX_0123456789876543210 of SBar _ (sY_0123456789876543210 :: Sing y_0123456789876543210) -> sY_0123456789876543210) sJ- = GHC.Base.id+ = GHC.Internal.Base.id @(Sing (Case_0123456789876543210 X_0123456789876543210Sym0)) (case sX_0123456789876543210 of SBar (sY_0123456789876543210 :: Sing y_0123456789876543210) _@@ -342,7 +346,7 @@ (applySing (singFun1 @HSym0 sH) SFalse) sI (sA_0123456789876543210 :: Sing a_0123456789876543210) = applySing- (GHC.Base.id+ (GHC.Internal.Base.id @(Sing (Case_0123456789876543210 a_0123456789876543210 X_0123456789876543210Sym0)) (case sX_0123456789876543210 of STuple2 _ (sY_0123456789876543210 :: Sing y_0123456789876543210)@@ -350,7 +354,7 @@ sA_0123456789876543210 sH (sA_0123456789876543210 :: Sing a_0123456789876543210) = applySing- (GHC.Base.id+ (GHC.Internal.Base.id @(Sing (Case_0123456789876543210 a_0123456789876543210 X_0123456789876543210Sym0)) (case sX_0123456789876543210 of STuple2 (sY_0123456789876543210 :: Sing y_0123456789876543210) _@@ -362,7 +366,7 @@ (singFun1 @GSym0 sG) sG (sA_0123456789876543210 :: Sing a_0123456789876543210) = applySing- (GHC.Base.id+ (GHC.Internal.Base.id @(Sing (Case_0123456789876543210 a_0123456789876543210 X_0123456789876543210Sym0)) (case sX_0123456789876543210 of SCons _@@ -371,7 +375,7 @@ sA_0123456789876543210 sF (sA_0123456789876543210 :: Sing a_0123456789876543210) = applySing- (GHC.Base.id+ (GHC.Internal.Base.id @(Sing (Case_0123456789876543210 a_0123456789876543210 X_0123456789876543210Sym0)) (case sX_0123456789876543210 of SCons (sY_0123456789876543210 :: Sing y_0123456789876543210)
tests/compile-and-dump/Singletons/TypeAbstractions.golden view
@@ -107,7 +107,7 @@ suppressUnusedWarnings = snd ((,) MkD1Sym1KindInference ()) type MkD1Sym2 :: forall j k (a :: j) (b :: k). Proxy a -> Proxy b -> D1 @j @k a b- type family MkD1Sym2 (a0123456789876543210 :: Proxy a) (a0123456789876543210 :: Proxy b) :: D1 @j @k a b where+ type family MkD1Sym2 @j @k @(a :: j) @(b :: k) (a0123456789876543210 :: Proxy a) (a0123456789876543210 :: Proxy b) :: D1 @j @k a b where MkD1Sym2 a0123456789876543210 a0123456789876543210 = MkD1 a0123456789876543210 a0123456789876543210 type MkD2Sym0 :: forall x y@@ -131,7 +131,7 @@ suppressUnusedWarnings = snd ((,) MkD2Sym1KindInference ()) type MkD2Sym2 :: forall x y (a :: x) (b :: y). Proxy a -> Proxy b -> D2 @x @y a b- type family MkD2Sym2 (a0123456789876543210 :: Proxy a) (a0123456789876543210 :: Proxy b) :: D2 @x @y a b where+ type family MkD2Sym2 @x @y @(a :: x) @(b :: y) (a0123456789876543210 :: Proxy a) (a0123456789876543210 :: Proxy b) :: D2 @x @y a b where MkD2Sym2 a0123456789876543210 a0123456789876543210 = MkD2 a0123456789876543210 a0123456789876543210 type MkD3Sym0 :: forall j (a :: j)@@ -155,7 +155,7 @@ suppressUnusedWarnings = snd ((,) MkD3Sym1KindInference ()) type MkD3Sym2 :: forall j (a :: j) k (b :: k). Proxy a -> Proxy b -> D3 @j a @k b- type family MkD3Sym2 (a0123456789876543210 :: Proxy a) (a0123456789876543210 :: Proxy b) :: D3 @j a @k b where+ type family MkD3Sym2 @j @(a :: j) @k @(b :: k) (a0123456789876543210 :: Proxy a) (a0123456789876543210 :: Proxy b) :: D3 @j a @k b where MkD3Sym2 a0123456789876543210 a0123456789876543210 = MkD3 a0123456789876543210 a0123456789876543210 type MkD4Sym0 :: forall a. (~>) a (D4 @a) data MkD4Sym0 :: (~>) a (D4 @a)@@ -166,7 +166,7 @@ instance SuppressUnusedWarnings MkD4Sym0 where suppressUnusedWarnings = snd ((,) MkD4Sym0KindInference ()) type MkD4Sym1 :: forall a. a -> D4 @a- type family MkD4Sym1 (a0123456789876543210 :: a) :: D4 @a where+ type family MkD4Sym1 @a (a0123456789876543210 :: a) :: D4 @a where MkD4Sym1 a0123456789876543210 = MkD4 a0123456789876543210 type Meth1Sym0 :: forall a b. (~>) (Proxy a) (Proxy b) data Meth1Sym0 :: (~>) (Proxy a) (Proxy b)@@ -177,7 +177,7 @@ instance SuppressUnusedWarnings Meth1Sym0 where suppressUnusedWarnings = snd ((,) Meth1Sym0KindInference ()) type Meth1Sym1 :: forall a b. Proxy a -> Proxy b- type family Meth1Sym1 (a0123456789876543210 :: Proxy a) :: Proxy b where+ type family Meth1Sym1 @a @b (a0123456789876543210 :: Proxy a) :: Proxy b where Meth1Sym1 a0123456789876543210 = Meth1 a0123456789876543210 type PC1 :: forall j k. j -> k -> Constraint class PC1 @j @k (a :: j) (b :: k) where@@ -191,7 +191,7 @@ instance SuppressUnusedWarnings Meth2Sym0 where suppressUnusedWarnings = snd ((,) Meth2Sym0KindInference ()) type Meth2Sym1 :: forall a b. Proxy a -> Proxy b- type family Meth2Sym1 (a0123456789876543210 :: Proxy a) :: Proxy b where+ type family Meth2Sym1 @a @b (a0123456789876543210 :: Proxy a) :: Proxy b where Meth2Sym1 a0123456789876543210 = Meth2 a0123456789876543210 type PC2 :: forall j k. j -> k -> Constraint class PC2 @x @y (a :: x) (b :: y) where@@ -205,13 +205,13 @@ instance SuppressUnusedWarnings Meth3Sym0 where suppressUnusedWarnings = snd ((,) Meth3Sym0KindInference ()) type Meth3Sym1 :: forall a b. Proxy a -> Proxy b- type family Meth3Sym1 (a0123456789876543210 :: Proxy a) :: Proxy b where+ type family Meth3Sym1 @a @b (a0123456789876543210 :: Proxy a) :: Proxy b where Meth3Sym1 a0123456789876543210 = Meth3 a0123456789876543210 type PC3 :: forall j. j -> forall k. k -> Constraint class PC3 @j (a :: j) @k (b :: k) where type family Meth3 (arg :: Proxy a) :: Proxy b type Meth4Sym0 :: forall a. a- type family Meth4Sym0 :: a where+ type family Meth4Sym0 @a :: a where Meth4Sym0 = Meth4 type PC4 :: forall (a :: Type). Constraint class PC4 @a where