Copyright | (C) 2013 Richard Eisenberg |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Ryan Scott |
Stability | experimental |
Portability | non-portable |
Safe Haskell | Safe-Inferred |
Language | GHC2021 |
This module contains everything you need to derive your own singletons via
Template Haskell, exporting both Template Haskell functionality and
definitions that are likely to be mentioned in promoted or singled code.
For a version of this module that only contains the Template Haskell
functionality and nothing else, see Data.Singletons.TH from the
singletons-th
library.
Synopsis
- singletons :: OptionsMonad q => q [Dec] -> q [Dec]
- singletonsOnly :: OptionsMonad q => q [Dec] -> q [Dec]
- genSingletons :: OptionsMonad q => [Name] -> q [Dec]
- promote :: OptionsMonad q => q [Dec] -> q [Dec]
- promoteOnly :: OptionsMonad q => q [Dec] -> q [Dec]
- genDefunSymbols :: OptionsMonad q => [Name] -> q [Dec]
- genPromotions :: OptionsMonad q => [Name] -> q [Dec]
- promoteEqInstances :: OptionsMonad q => [Name] -> q [Dec]
- promoteEqInstance :: OptionsMonad q => Name -> q [Dec]
- singEqInstances :: OptionsMonad q => [Name] -> q [Dec]
- singEqInstance :: OptionsMonad q => Name -> q [Dec]
- singDecideInstances :: OptionsMonad q => [Name] -> q [Dec]
- singDecideInstance :: OptionsMonad q => Name -> q [Dec]
- promoteOrdInstances :: OptionsMonad q => [Name] -> q [Dec]
- promoteOrdInstance :: OptionsMonad q => Name -> q [Dec]
- singOrdInstances :: OptionsMonad q => [Name] -> q [Dec]
- singOrdInstance :: OptionsMonad q => Name -> q [Dec]
- promoteBoundedInstances :: OptionsMonad q => [Name] -> q [Dec]
- promoteBoundedInstance :: OptionsMonad q => Name -> q [Dec]
- singBoundedInstances :: OptionsMonad q => [Name] -> q [Dec]
- singBoundedInstance :: OptionsMonad q => Name -> q [Dec]
- promoteEnumInstances :: OptionsMonad q => [Name] -> q [Dec]
- promoteEnumInstance :: OptionsMonad q => Name -> q [Dec]
- singEnumInstances :: OptionsMonad q => [Name] -> q [Dec]
- singEnumInstance :: OptionsMonad q => Name -> q [Dec]
- promoteShowInstances :: OptionsMonad q => [Name] -> q [Dec]
- promoteShowInstance :: OptionsMonad q => Name -> q [Dec]
- singShowInstances :: OptionsMonad q => [Name] -> q [Dec]
- singShowInstance :: OptionsMonad q => Name -> q [Dec]
- showSingInstances :: OptionsMonad q => [Name] -> q [Dec]
- showSingInstance :: OptionsMonad q => Name -> q [Dec]
- singITyConInstances :: DsMonad q => [Int] -> q [Dec]
- singITyConInstance :: DsMonad q => Int -> q Dec
- cases :: DsMonad q => Name -> q Exp -> q Exp -> q Exp
- sCases :: OptionsMonad q => Name -> q Exp -> q Exp -> q Exp
- data SList :: forall (a :: Type). [a] -> Type where
- data SBool :: Bool -> Type where
- data STuple0 :: () -> Type where
- data STuple2 :: forall (a :: Type) (b :: Type). (a, b) -> Type where
- data STuple3 :: forall (a :: Type) (b :: Type) (c :: Type). (a, b, c) -> Type where
- data STuple4 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type). (a, b, c, d) -> Type where
- data STuple5 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type). (a, b, c, d, e) -> Type where
- data STuple6 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type) (f :: Type). (a, b, c, d, e, f) -> Type where
- STuple6 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type) (f :: Type) (n :: a) (n :: b) (n :: c) (n :: d) (n :: e) (n :: f). (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> STuple6 ('(n, n, n, n, n, n) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type))
- data STuple7 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type) (f :: Type) (g :: Type). (a, b, c, d, e, f, g) -> Type where
- STuple7 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type) (f :: Type) (g :: Type) (n :: a) (n :: b) (n :: c) (n :: d) (n :: e) (n :: f) (n :: g). (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> STuple7 ('(n, n, n, n, n, n, n) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type))
- data SOrdering :: Ordering -> Type where
- module Data.Singletons
- class PEq a where
- type family If (cond :: Bool) (tru :: k) (fls :: k) :: k where ...
- sIf :: Sing a -> Sing b -> Sing c -> Sing (If a b c)
- type family (a :: Bool) && (b :: Bool) :: Bool where ...
- (%&&) :: Sing a -> Sing b -> Sing (a && b)
- class SEq a where
- class POrd a where
- class SEq a => SOrd a where
- sCompare :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t :: Ordering) :: Type
- (%<) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t :: Bool) :: Type
- (%<=) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t :: Bool) :: Type
- (%>) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t :: Bool) :: Type
- (%>=) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t :: Bool) :: Type
- sMax :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t :: a) :: Type
- sMin :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t :: a) :: Type
- class SDecide k where
- data (a :: k) :~: (b :: k) where
- data Void
- type Refuted a = a -> Void
- data Decision a
- class PBounded a where
- class SBounded a where
- sMinBound :: Sing (MinBoundSym0 :: a) :: Type
- sMaxBound :: Sing (MaxBoundSym0 :: a) :: Type
- class PEnum a where
- class SEnum a where
- class PShow a where
- class SShow a where
- sShowsPrec :: forall (t :: Natural) (t :: a) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t :: Symbol) :: Type
- sShow_ :: forall (t :: a). Sing t -> Sing (Apply Show_Sym0 t :: Symbol) :: Type
- sShowList :: forall (t :: [a]) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t :: Symbol) :: Type
- class PIsString a where
- type FromString (arg :: Symbol) :: a
- class SIsString a where
- sFromString :: forall (t :: Symbol). Sing t -> Sing (Apply FromStringSym0 t :: a) :: Type
- type family ShowString (a :: Symbol) (a :: Symbol) :: Symbol where ...
- sShowString :: forall (t :: Symbol) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowStringSym0 t) t :: Symbol) :: Type
- type family ShowParen (a :: Bool) (a :: (~>) Symbol Symbol) (a :: Symbol) :: Symbol where ...
- sShowParen :: forall (t :: Bool) (t :: (~>) Symbol Symbol) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowParenSym0 t) t) t :: Symbol) :: Type
- type family ShowSpace (a :: Symbol) :: Symbol where ...
- sShowSpace :: forall (t :: Symbol). Sing t -> Sing (Apply ShowSpaceSym0 t :: Symbol) :: Type
- type family ShowChar (a :: Char) (a :: Symbol) :: Symbol where ...
- sShowChar :: forall (t :: Char) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowCharSym0 t) t :: Symbol) :: Type
- type family ShowCommaSpace (a :: Symbol) :: Symbol where ...
- sShowCommaSpace :: forall (t :: Symbol). Sing t -> Sing (Apply ShowCommaSpaceSym0 t :: Symbol) :: Type
- type family FromInteger (arg :: Natural) :: a
- sFromInteger :: SNum a => forall (t :: Natural). Sing t -> Sing (Apply FromIntegerSym0 t :: a) :: Type
- type family Negate (arg :: a) :: a
- sNegate :: SNum a => forall (t :: a). Sing t -> Sing (Apply NegateSym0 t :: a) :: Type
- class PFunctor f where
- class SFunctor f where
- class PFoldable t where
- type Fold (arg :: t m) :: m
- type FoldMap (arg :: (~>) a m) (arg :: t a) :: m
- type Foldr (arg :: (~>) a ((~>) b b)) (arg :: b) (arg :: t a) :: b
- type Foldr' (arg :: (~>) a ((~>) b b)) (arg :: b) (arg :: t a) :: b
- type Foldl (arg :: (~>) b ((~>) a b)) (arg :: b) (arg :: t a) :: b
- type Foldl' (arg :: (~>) b ((~>) a b)) (arg :: b) (arg :: t a) :: b
- type Foldr1 (arg :: (~>) a ((~>) a a)) (arg :: t a) :: a
- type Foldl1 (arg :: (~>) a ((~>) a a)) (arg :: t a) :: a
- type ToList (arg :: t a) :: [a]
- type Null (arg :: t a) :: Bool
- type Length (arg :: t a) :: Natural
- type Elem (arg :: a) (arg :: t a) :: Bool
- type Maximum (arg :: t a) :: a
- type Minimum (arg :: t a) :: a
- type Sum (arg :: t a) :: a
- type Product (arg :: t a) :: a
- class SFoldable t where
- sFold :: forall (t :: t m). SMonoid m => Sing t -> Sing (Apply FoldSym0 t :: m) :: Type
- sFoldMap :: forall (t :: (~>) a m) (t :: t a). SMonoid m => Sing t -> Sing t -> Sing (Apply (Apply FoldMapSym0 t) t :: m) :: Type
- sFoldr :: forall (t :: (~>) a ((~>) b b)) (t :: b) (t :: t a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t :: b) :: Type
- sFoldr' :: forall (t :: (~>) a ((~>) b b)) (t :: b) (t :: t a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldr'Sym0 t) t) t :: b) :: Type
- sFoldl :: forall (t :: (~>) b ((~>) a b)) (t :: b) (t :: t a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t :: b) :: Type
- sFoldl' :: forall (t :: (~>) b ((~>) a b)) (t :: b) (t :: t a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldl'Sym0 t) t) t :: b) :: Type
- sFoldr1 :: forall (t :: (~>) a ((~>) a a)) (t :: t a). Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t :: a) :: Type
- sFoldl1 :: forall (t :: (~>) a ((~>) a a)) (t :: t a). Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t :: a) :: Type
- sToList :: forall (t :: t a). Sing t -> Sing (Apply ToListSym0 t :: [a]) :: Type
- sNull :: forall (t :: t a). Sing t -> Sing (Apply NullSym0 t :: Bool) :: Type
- sLength :: forall (t :: t a). Sing t -> Sing (Apply LengthSym0 t :: Natural) :: Type
- sElem :: forall (t :: a) (t :: t a). SEq a => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t :: Bool) :: Type
- sMaximum :: forall a (t :: t a). SOrd a => Sing t -> Sing (Apply MaximumSym0 t :: a)
- sMinimum :: forall a (t :: t a). SOrd a => Sing t -> Sing (Apply MinimumSym0 t :: a)
- sSum :: forall (t :: t a). SNum a => Sing t -> Sing (Apply SumSym0 t :: a) :: Type
- sProduct :: forall (t :: t a). SNum a => Sing t -> Sing (Apply ProductSym0 t :: a) :: Type
- class PSemigroup a where
- class SSemigroup a where
- class PMonoid a where
- class SSemigroup a => SMonoid a where
- sMempty :: Sing (MemptySym0 :: a) :: Type
- sMappend :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply MappendSym0 t) t :: a) :: Type
- sMconcat :: forall (t :: [a]). Sing t -> Sing (Apply MconcatSym0 t :: a) :: Type
- class PTraversable t where
- class (SFunctor t, SFoldable t) => STraversable t where
- sTraverse :: forall (t :: (~>) a (f b)) (t :: t a). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply TraverseSym0 t) t :: f (t b)) :: Type
- sSequenceA :: forall (t :: t (f a)). SApplicative f => Sing t -> Sing (Apply SequenceASym0 t :: f (t a)) :: Type
- sMapM :: forall (t :: (~>) a (m b)) (t :: t a). SMonad m => Sing t -> Sing t -> Sing (Apply (Apply MapMSym0 t) t :: m (t b)) :: Type
- sSequence :: forall (t :: t (m a)). SMonad m => Sing t -> Sing (Apply SequenceSym0 t :: m (t a)) :: Type
- class PApplicative f where
- class SFunctor f => SApplicative f where
- sPure :: forall (t :: a). Sing t -> Sing (Apply PureSym0 t :: f a) :: Type
- (%<*>) :: forall (t :: f ((~>) a b)) (t :: f a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t :: f b) :: Type
- sLiftA2 :: forall (t :: (~>) a ((~>) b c)) (t :: f a) (t :: f b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t :: f c) :: Type
- (%*>) :: forall (t :: f a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t :: f b) :: Type
- (%<*) :: forall (t :: f a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t :: f a) :: Type
- type family ((a :: (~>) b c) . (a :: (~>) a b)) (a :: a) :: c where ...
- (%.) :: forall (t :: (~>) b c) (t :: (~>) a b) (t :: a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (.@#@$) t) t) t :: c) :: Type
- type family Error (str :: Symbol) :: a where ...
- sError :: HasCallStack => Sing (str :: Symbol) -> a
- data ErrorSym0 :: (~>) Symbol a
- type family ErrorSym1 (a6989586621679450964 :: Symbol) :: a where ...
- type family Undefined :: a where ...
- sUndefined :: HasCallStack => a
- type family UndefinedSym0 :: a where ...
- type family TrueSym0 :: Bool where ...
- type family FalseSym0 :: Bool where ...
- data (==@#@$) :: (~>) a ((~>) a Bool)
- data (==@#@$$) (a6989586621679109583 :: a) :: (~>) a Bool
- type family (a6989586621679109583 :: a) ==@#@$$$ (a6989586621679109584 :: a) :: Bool where ...
- data (>@#@$) :: (~>) a ((~>) a Bool)
- data (>@#@$$) (a6989586621679190384 :: a) :: (~>) a Bool
- type family (a6989586621679190384 :: a) >@#@$$$ (a6989586621679190385 :: a) :: Bool where ...
- data IfSym0 :: (~>) Bool ((~>) k ((~>) k k))
- data IfSym1 (a6989586621679106255 :: Bool) :: (~>) k ((~>) k k)
- data IfSym2 (a6989586621679106255 :: Bool) (a6989586621679106256 :: k) :: (~>) k k
- type family IfSym3 (a6989586621679106255 :: Bool) (a6989586621679106256 :: k) (a6989586621679106257 :: k) :: k where ...
- data (&&@#@$) :: (~>) Bool ((~>) Bool Bool)
- data (&&@#@$$) (a6989586621679105336 :: Bool) :: (~>) Bool Bool
- type family (a6989586621679105336 :: Bool) &&@#@$$$ (a6989586621679105337 :: Bool) :: Bool where ...
- type family LTSym0 :: Ordering where ...
- type family EQSym0 :: Ordering where ...
- type family GTSym0 :: Ordering where ...
- type family Tuple0Sym0 :: () where ...
- data Tuple2Sym0 :: (~>) a ((~>) b (a :: Type, b :: Type))
- data Tuple2Sym1 (a6989586621679038044 :: a) :: (~>) b (a :: Type, b :: Type)
- type family Tuple2Sym2 (a6989586621679038044 :: a) (a6989586621679038045 :: b) :: (a :: Type, b :: Type) where ...
- data Tuple3Sym0 :: (~>) a ((~>) b ((~>) c (a :: Type, b :: Type, c :: Type)))
- data Tuple3Sym1 (a6989586621679038075 :: a) :: (~>) b ((~>) c (a :: Type, b :: Type, c :: Type))
- data Tuple3Sym2 (a6989586621679038075 :: a) (a6989586621679038076 :: b) :: (~>) c (a :: Type, b :: Type, c :: Type)
- type family Tuple3Sym3 (a6989586621679038075 :: a) (a6989586621679038076 :: b) (a6989586621679038077 :: c) :: (a :: Type, b :: Type, c :: Type) where ...
- data Tuple4Sym0 :: (~>) a ((~>) b ((~>) c ((~>) d (a :: Type, b :: Type, c :: Type, d :: Type))))
- data Tuple4Sym1 (a6989586621679038124 :: a) :: (~>) b ((~>) c ((~>) d (a :: Type, b :: Type, c :: Type, d :: Type)))
- data Tuple4Sym2 (a6989586621679038124 :: a) (a6989586621679038125 :: b) :: (~>) c ((~>) d (a :: Type, b :: Type, c :: Type, d :: Type))
- data Tuple4Sym3 (a6989586621679038124 :: a) (a6989586621679038125 :: b) (a6989586621679038126 :: c) :: (~>) d (a :: Type, b :: Type, c :: Type, d :: Type)
- type family Tuple4Sym4 (a6989586621679038124 :: a) (a6989586621679038125 :: b) (a6989586621679038126 :: c) (a6989586621679038127 :: d) :: (a :: Type, b :: Type, c :: Type, d :: Type) where ...
- data Tuple5Sym0 :: (~>) a ((~>) b ((~>) c ((~>) d ((~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type)))))
- data Tuple5Sym1 (a6989586621679038193 :: a) :: (~>) b ((~>) c ((~>) d ((~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type))))
- data Tuple5Sym2 (a6989586621679038193 :: a) (a6989586621679038194 :: b) :: (~>) c ((~>) d ((~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type)))
- data Tuple5Sym3 (a6989586621679038193 :: a) (a6989586621679038194 :: b) (a6989586621679038195 :: c) :: (~>) d ((~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type))
- data Tuple5Sym4 (a6989586621679038193 :: a) (a6989586621679038194 :: b) (a6989586621679038195 :: c) (a6989586621679038196 :: d) :: (~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type)
- type family Tuple5Sym5 (a6989586621679038193 :: a) (a6989586621679038194 :: b) (a6989586621679038195 :: c) (a6989586621679038196 :: d) (a6989586621679038197 :: e) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type) where ...
- data Tuple6Sym0 :: (~>) a ((~>) b ((~>) c ((~>) d ((~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type))))))
- data Tuple6Sym1 (a6989586621679038284 :: a) :: (~>) b ((~>) c ((~>) d ((~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type)))))
- data Tuple6Sym2 (a6989586621679038284 :: a) (a6989586621679038285 :: b) :: (~>) c ((~>) d ((~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type))))
- data Tuple6Sym3 (a6989586621679038284 :: a) (a6989586621679038285 :: b) (a6989586621679038286 :: c) :: (~>) d ((~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type)))
- data Tuple6Sym4 (a6989586621679038284 :: a) (a6989586621679038285 :: b) (a6989586621679038286 :: c) (a6989586621679038287 :: d) :: (~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type))
- data Tuple6Sym5 (a6989586621679038284 :: a) (a6989586621679038285 :: b) (a6989586621679038286 :: c) (a6989586621679038287 :: d) (a6989586621679038288 :: e) :: (~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type)
- type family Tuple6Sym6 (a6989586621679038284 :: a) (a6989586621679038285 :: b) (a6989586621679038286 :: c) (a6989586621679038287 :: d) (a6989586621679038288 :: e) (a6989586621679038289 :: f) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type) where ...
- data Tuple7Sym0 :: (~>) a ((~>) b ((~>) c ((~>) d ((~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type)))))))
- data Tuple7Sym1 (a6989586621679038399 :: a) :: (~>) b ((~>) c ((~>) d ((~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type))))))
- data Tuple7Sym2 (a6989586621679038399 :: a) (a6989586621679038400 :: b) :: (~>) c ((~>) d ((~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type)))))
- data Tuple7Sym3 (a6989586621679038399 :: a) (a6989586621679038400 :: b) (a6989586621679038401 :: c) :: (~>) d ((~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type))))
- data Tuple7Sym4 (a6989586621679038399 :: a) (a6989586621679038400 :: b) (a6989586621679038401 :: c) (a6989586621679038402 :: d) :: (~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type)))
- data Tuple7Sym5 (a6989586621679038399 :: a) (a6989586621679038400 :: b) (a6989586621679038401 :: c) (a6989586621679038402 :: d) (a6989586621679038403 :: e) :: (~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type))
- data Tuple7Sym6 (a6989586621679038399 :: a) (a6989586621679038400 :: b) (a6989586621679038401 :: c) (a6989586621679038402 :: d) (a6989586621679038403 :: e) (a6989586621679038404 :: f) :: (~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type)
- type family Tuple7Sym7 (a6989586621679038399 :: a) (a6989586621679038400 :: b) (a6989586621679038401 :: c) (a6989586621679038402 :: d) (a6989586621679038403 :: e) (a6989586621679038404 :: f) (a6989586621679038405 :: g) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type) where ...
- data CompareSym0 :: (~>) a ((~>) a Ordering)
- data CompareSym1 (a6989586621679190369 :: a) :: (~>) a Ordering
- type family CompareSym2 (a6989586621679190369 :: a) (a6989586621679190370 :: a) :: Ordering where ...
- data FoldlSym0 :: (~>) ((~>) b ((~>) a b)) ((~>) b ((~>) (t a) b))
- data FoldlSym1 (a6989586621680110573 :: (~>) b ((~>) a b)) :: (~>) b ((~>) (t a) b)
- data FoldlSym2 (a6989586621680110573 :: (~>) b ((~>) a b)) (a6989586621680110574 :: b) :: (~>) (t a) b
- type family FoldlSym3 (a6989586621680110573 :: (~>) b ((~>) a b)) (a6989586621680110574 :: b) (a6989586621680110575 :: t a) :: b where ...
- type family MinBoundSym0 :: a where ...
- type family MaxBoundSym0 :: a where ...
- data ShowsPrecSym0 :: (~>) Natural ((~>) a ((~>) Symbol Symbol))
- data ShowsPrecSym1 (a6989586621679965742 :: Natural) :: (~>) a ((~>) Symbol Symbol)
- data ShowsPrecSym2 (a6989586621679965742 :: Natural) (a6989586621679965743 :: a) :: (~>) Symbol Symbol
- type family ShowsPrecSym3 (a6989586621679965742 :: Natural) (a6989586621679965743 :: a) (a6989586621679965744 :: Symbol) :: Symbol where ...
- data ShowStringSym0 :: (~>) Symbol ((~>) Symbol Symbol)
- data ShowStringSym1 (a6989586621679965697 :: Symbol) :: (~>) Symbol Symbol
- type family ShowStringSym2 (a6989586621679965697 :: Symbol) (a6989586621679965698 :: Symbol) :: Symbol where ...
- data ShowParenSym0 :: (~>) Bool ((~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol))
- data ShowParenSym1 (a6989586621679965681 :: Bool) :: (~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol)
- data ShowParenSym2 (a6989586621679965681 :: Bool) (a6989586621679965682 :: (~>) Symbol Symbol) :: (~>) Symbol Symbol
- data ShowSpaceSym0 :: (~>) Symbol Symbol
- type family ShowSpaceSym1 (a6989586621679965669 :: Symbol) :: Symbol where ...
- data ShowCharSym0 :: (~>) Char ((~>) Symbol Symbol)
- data ShowCharSym1 (a6989586621679965708 :: Char) :: (~>) Symbol Symbol
- type family ShowCharSym2 (a6989586621679965708 :: Char) (a6989586621679965709 :: Symbol) :: Symbol where ...
- data ShowCommaSpaceSym0 :: (~>) Symbol Symbol
- type family ShowCommaSpaceSym1 (a6989586621679965663 :: Symbol) :: Symbol where ...
- data FromIntegerSym0 :: (~>) Natural a
- type family FromIntegerSym1 (a6989586621679477103 :: Natural) :: a where ...
- data NegateSym0 :: (~>) a a
- type family NegateSym1 (a6989586621679477094 :: a) :: a where ...
- data FromStringSym0 :: (~>) Symbol a
- type family FromStringSym1 (a6989586621680669107 :: Symbol) :: a where ...
- data FmapSym0 :: (~>) ((~>) a b) ((~>) (f a) (f b))
- data FmapSym1 (a6989586621679276541 :: (~>) a b) :: (~>) (f a) (f b)
- type family FmapSym2 (a6989586621679276541 :: (~>) a b) (a6989586621679276542 :: f a) :: f b where ...
- data (<$@#@$) :: (~>) a ((~>) (f b) (f a))
- data (<$@#@$$) (a6989586621679276546 :: a) :: (~>) (f b) (f a)
- type family (a6989586621679276546 :: a) <$@#@$$$ (a6989586621679276547 :: f b) :: f a where ...
- data FoldMapSym0 :: (~>) ((~>) a m) ((~>) (t a) m)
- data FoldMapSym1 (a6989586621680110553 :: (~>) a m) :: (~>) (t a) m
- type family FoldMapSym2 (a6989586621680110553 :: (~>) a m) (a6989586621680110554 :: t a) :: m where ...
- data (<>@#@$) :: (~>) a ((~>) a a)
- data (<>@#@$$) (a6989586621679166895 :: a) :: (~>) a a
- type family (a6989586621679166895 :: a) <>@#@$$$ (a6989586621679166896 :: a) :: a where ...
- type family MemptySym0 :: a where ...
- data MappendSym0 :: (~>) a ((~>) a a)
- data MappendSym1 (a6989586621680031457 :: a) :: (~>) a a
- type family MappendSym2 (a6989586621680031457 :: a) (a6989586621680031458 :: a) :: a where ...
- data FoldrSym0 :: (~>) ((~>) a ((~>) b b)) ((~>) b ((~>) (t a) b))
- data FoldrSym1 (a6989586621680110559 :: (~>) a ((~>) b b)) :: (~>) b ((~>) (t a) b)
- data FoldrSym2 (a6989586621680110559 :: (~>) a ((~>) b b)) (a6989586621680110560 :: b) :: (~>) (t a) b
- type family FoldrSym3 (a6989586621680110559 :: (~>) a ((~>) b b)) (a6989586621680110560 :: b) (a6989586621680110561 :: t a) :: b where ...
- data TraverseSym0 :: (~>) ((~>) a (f b)) ((~>) (t a) (f (t b)))
- data TraverseSym1 (a6989586621680379945 :: (~>) a (f b)) :: (~>) (t a) (f (t b))
- type family TraverseSym2 (a6989586621680379945 :: (~>) a (f b)) (a6989586621680379946 :: t a) :: f (t b) where ...
- data PureSym0 :: (~>) a (f a)
- type family PureSym1 (a6989586621679276565 :: a) :: f a where ...
- data (<*>@#@$) :: (~>) (f ((~>) a b)) ((~>) (f a) (f b))
- data (<*>@#@$$) (a6989586621679276569 :: f ((~>) a b)) :: (~>) (f a) (f b)
- type family (a6989586621679276569 :: f ((~>) a b)) <*>@#@$$$ (a6989586621679276570 :: f a) :: f b where ...
- data LiftA2Sym0 :: (~>) ((~>) a ((~>) b c)) ((~>) (f a) ((~>) (f b) (f c)))
- data LiftA2Sym1 (a6989586621679276575 :: (~>) a ((~>) b c)) :: (~>) (f a) ((~>) (f b) (f c))
- data LiftA2Sym2 (a6989586621679276575 :: (~>) a ((~>) b c)) (a6989586621679276576 :: f a) :: (~>) (f b) (f c)
- type family LiftA2Sym3 (a6989586621679276575 :: (~>) a ((~>) b c)) (a6989586621679276576 :: f a) (a6989586621679276577 :: f b) :: f c where ...
- data (.@#@$) :: (~>) ((~>) b c) ((~>) ((~>) a b) ((~>) a c))
- data (.@#@$$) (a6989586621679144174 :: (~>) b c) :: (~>) ((~>) a b) ((~>) a c)
- data (a6989586621679144174 :: (~>) b c) .@#@$$$ (a6989586621679144175 :: (~>) a b) :: (~>) a c
- type family ((a6989586621679144174 :: (~>) b c) .@#@$$$$ (a6989586621679144175 :: (~>) a b)) (a6989586621679144176 :: a) :: c where ...
- type family NilSym0 :: [a :: Type] where ...
- data (:@#@$) :: (~>) a ((~>) [a] [a :: Type])
- data (:@#@$$) (a6989586621679037552 :: a) :: (~>) [a] [a :: Type]
- type family (a6989586621679037552 :: a) :@#@$$$ (a6989586621679037553 :: [a]) :: [a :: Type] where ...
- class SuppressUnusedWarnings (t :: k) where
- suppressUnusedWarnings :: ()
Primary Template Haskell generation functions
singletons :: OptionsMonad q => q [Dec] -> q [Dec] #
Make promoted and singled versions of all declarations given, retaining
the original declarations. See the
README
for further explanation.
singletonsOnly :: OptionsMonad q => q [Dec] -> q [Dec] #
Make promoted and singled versions of all declarations given, discarding the original declarations. Note that a singleton based on a datatype needs the original datatype, so this will fail if it sees any datatype declarations. Classes, instances, and functions are all fine.
genSingletons :: OptionsMonad q => [Name] -> q [Dec] #
Generate singled definitions for each of the provided type-level
declaration Name
s. For example, the singletons-th package itself uses
$(genSingletons [''Bool, ''Maybe, ''Either, ''[]])
to generate singletons for Prelude types.
promote :: OptionsMonad q => q [Dec] -> q [Dec] #
Promote every declaration given to the type level, retaining the originals.
See the
README
for further explanation.
promoteOnly :: OptionsMonad q => q [Dec] -> q [Dec] #
Promote each declaration, discarding the originals. Note that a promoted datatype uses the same definition as an original datatype, so this will not work with datatypes. Classes, instances, and functions are all fine.
genDefunSymbols :: OptionsMonad q => [Name] -> q [Dec] #
Generate defunctionalization symbols for each of the provided type-level
declaration Name
s. See the "Promotion and partial application" section of
the singletons
README
for further explanation.
genPromotions :: OptionsMonad q => [Name] -> q [Dec] #
Generate promoted definitions for each of the provided type-level
declaration Name
s. This is generally only useful with classes.
Functions to generate equality instances
promoteEqInstances :: OptionsMonad q => [Name] -> q [Dec] #
Produce instances for PEq
from the given types
promoteEqInstance :: OptionsMonad q => Name -> q [Dec] #
Produce an instance for PEq
from the given type
singEqInstances :: OptionsMonad q => [Name] -> q [Dec] #
Create instances of SEq
for the given types
singEqInstance :: OptionsMonad q => Name -> q [Dec] #
Create instance of SEq
for the given type
singDecideInstances :: OptionsMonad q => [Name] -> q [Dec] #
Create instances of SDecide
, TestEquality
, and TestCoercion
for each
type in the list.
singDecideInstance :: OptionsMonad q => Name -> q [Dec] #
Create instances of SDecide
, TestEquality
, and TestCoercion
for the
given type.
Functions to generate Ord
instances
promoteOrdInstances :: OptionsMonad q => [Name] -> q [Dec] #
Produce instances for POrd
from the given types
promoteOrdInstance :: OptionsMonad q => Name -> q [Dec] #
Produce an instance for POrd
from the given type
singOrdInstances :: OptionsMonad q => [Name] -> q [Dec] #
Create instances of SOrd
for the given types
singOrdInstance :: OptionsMonad q => Name -> q [Dec] #
Create instance of SOrd
for the given type
Functions to generate Bounded
instances
promoteBoundedInstances :: OptionsMonad q => [Name] -> q [Dec] #
Produce instances for PBounded
from the given types
promoteBoundedInstance :: OptionsMonad q => Name -> q [Dec] #
Produce an instance for PBounded
from the given type
singBoundedInstances :: OptionsMonad q => [Name] -> q [Dec] #
Create instances of SBounded
for the given types
singBoundedInstance :: OptionsMonad q => Name -> q [Dec] #
Create instance of SBounded
for the given type
Functions to generate Enum
instances
promoteEnumInstances :: OptionsMonad q => [Name] -> q [Dec] #
Produce instances for PEnum
from the given types
promoteEnumInstance :: OptionsMonad q => Name -> q [Dec] #
Produce an instance for PEnum
from the given type
singEnumInstances :: OptionsMonad q => [Name] -> q [Dec] #
Create instances of SEnum
for the given types
singEnumInstance :: OptionsMonad q => Name -> q [Dec] #
Create instance of SEnum
for the given type
Functions to generate Show
instances
promoteShowInstances :: OptionsMonad q => [Name] -> q [Dec] #
Produce instances for PShow
from the given types
promoteShowInstance :: OptionsMonad q => Name -> q [Dec] #
Produce an instance for PShow
from the given type
singShowInstances :: OptionsMonad q => [Name] -> q [Dec] #
Create instances of SShow
for the given types
(Not to be confused with showSingInstances
.)
singShowInstance :: OptionsMonad q => Name -> q [Dec] #
Create instance of SShow
for the given type
(Not to be confused with showShowInstance
.)
showSingInstances :: OptionsMonad q => [Name] -> q [Dec] #
Create instances of Show
for the given singleton types
(Not to be confused with singShowInstances
.)
showSingInstance :: OptionsMonad q => Name -> q [Dec] #
Create instance of Show
for the given singleton type
(Not to be confused with singShowInstance
.)
Utility functions
singITyConInstances :: DsMonad q => [Int] -> q [Dec] #
Create an instance for
, where SingI
TyCon{N}N
is the positive
number provided as an argument.
Note that the generated code requires the use of the QuantifiedConstraints
language extension.
singITyConInstance :: DsMonad q => Int -> q Dec #
Create an instance for
, where SingI
TyCon{N}N
is the positive
number provided as an argument.
Note that the generated code requires the use of the QuantifiedConstraints
language extension.
:: DsMonad q | |
=> Name | The head of the type of the scrutinee. (e.g., |
-> q Exp | The scrutinee, in a Template Haskell quote |
-> q Exp | The body, in a Template Haskell quote |
-> q Exp |
:: OptionsMonad q | |
=> Name | The head of the type the scrutinee's type is based on.
(Like |
-> q Exp | The scrutinee, in a Template Haskell quote |
-> q Exp | The body, in a Template Haskell quote |
-> q Exp |
The function sCases
generates a case expression where each right-hand side
is identical. This may be useful if the type-checker requires knowledge of which
constructor is used to satisfy equality or type-class constraints, but where
each constructor is treated the same.
For sCases
, unlike cases
, the scrutinee is a singleton. But make sure to
pass in the name of the original datatype, preferring ''Maybe
over
''SMaybe
. In other words, sCases ''Maybe
is equivalent to
.cases
''SMaybe
Basic singleton definitions
data SList :: forall (a :: Type). [a] -> Type where Source #
SNil :: forall (a :: Type). SList ('[] :: [a :: Type]) | |
SCons :: forall (a :: Type) (n :: a) (n :: [a]). (Sing n) -> (Sing n) -> SList ('(:) n n :: [a :: Type]) infixr 5 |
Instances
(SDecide a, SDecide [a]) => TestCoercion (SList :: [a] -> Type) Source # | |
Defined in Data.Singletons.Base.Instances testCoercion :: forall (a0 :: k) (b :: k). SList a0 -> SList b -> Maybe (Coercion a0 b) | |
(SDecide a, SDecide [a]) => TestEquality (SList :: [a] -> Type) Source # | |
Defined in Data.Singletons.Base.Instances testEquality :: forall (a0 :: k) (b :: k). SList a0 -> SList b -> Maybe (a0 :~: b) | |
(ShowSing a, ShowSing [a]) => Show (SList z) Source # | |
data SBool :: Bool -> Type where Source #
Instances
TestCoercion SBool Source # | |
Defined in Data.Singletons.Base.Instances testCoercion :: forall (a :: k) (b :: k). SBool a -> SBool b -> Maybe (Coercion a b) | |
TestEquality SBool Source # | |
Defined in Data.Singletons.Base.Instances testEquality :: forall (a :: k) (b :: k). SBool a -> SBool b -> Maybe (a :~: b) | |
Show (SBool z) Source # | |
data STuple0 :: () -> Type where Source #
Instances
TestCoercion STuple0 Source # | |
Defined in Data.Singletons.Base.Instances testCoercion :: forall (a :: k) (b :: k). STuple0 a -> STuple0 b -> Maybe (Coercion a b) | |
TestEquality STuple0 Source # | |
Defined in Data.Singletons.Base.Instances testEquality :: forall (a :: k) (b :: k). STuple0 a -> STuple0 b -> Maybe (a :~: b) | |
Show (STuple0 z) Source # | |
data STuple2 :: forall (a :: Type) (b :: Type). (a, b) -> Type where Source #
STuple2 :: forall (a :: Type) (b :: Type) (n :: a) (n :: b). (Sing n) -> (Sing n) -> STuple2 ('(n, n) :: (a :: Type, b :: Type)) |
Instances
(SDecide a, SDecide b) => TestCoercion (STuple2 :: (a, b) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances testCoercion :: forall (a0 :: k) (b0 :: k). STuple2 a0 -> STuple2 b0 -> Maybe (Coercion a0 b0) | |
(SDecide a, SDecide b) => TestEquality (STuple2 :: (a, b) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances testEquality :: forall (a0 :: k) (b0 :: k). STuple2 a0 -> STuple2 b0 -> Maybe (a0 :~: b0) | |
(ShowSing a, ShowSing b) => Show (STuple2 z) Source # | |
data STuple3 :: forall (a :: Type) (b :: Type) (c :: Type). (a, b, c) -> Type where Source #
STuple3 :: forall (a :: Type) (b :: Type) (c :: Type) (n :: a) (n :: b) (n :: c). (Sing n) -> (Sing n) -> (Sing n) -> STuple3 ('(n, n, n) :: (a :: Type, b :: Type, c :: Type)) |
Instances
(SDecide a, SDecide b, SDecide c) => TestCoercion (STuple3 :: (a, b, c) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances testCoercion :: forall (a0 :: k) (b0 :: k). STuple3 a0 -> STuple3 b0 -> Maybe (Coercion a0 b0) | |
(SDecide a, SDecide b, SDecide c) => TestEquality (STuple3 :: (a, b, c) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances testEquality :: forall (a0 :: k) (b0 :: k). STuple3 a0 -> STuple3 b0 -> Maybe (a0 :~: b0) | |
(ShowSing a, ShowSing b, ShowSing c) => Show (STuple3 z) Source # | |
data STuple4 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type). (a, b, c, d) -> Type where Source #
STuple4 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (n :: a) (n :: b) (n :: c) (n :: d). (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> STuple4 ('(n, n, n, n) :: (a :: Type, b :: Type, c :: Type, d :: Type)) |
Instances
(SDecide a, SDecide b, SDecide c, SDecide d) => TestCoercion (STuple4 :: (a, b, c, d) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances testCoercion :: forall (a0 :: k) (b0 :: k). STuple4 a0 -> STuple4 b0 -> Maybe (Coercion a0 b0) | |
(SDecide a, SDecide b, SDecide c, SDecide d) => TestEquality (STuple4 :: (a, b, c, d) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances testEquality :: forall (a0 :: k) (b0 :: k). STuple4 a0 -> STuple4 b0 -> Maybe (a0 :~: b0) | |
(ShowSing a, ShowSing b, ShowSing c, ShowSing d) => Show (STuple4 z) Source # | |
data STuple5 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type). (a, b, c, d, e) -> Type where Source #
STuple5 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type) (n :: a) (n :: b) (n :: c) (n :: d) (n :: e). (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> STuple5 ('(n, n, n, n, n) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type)) |
Instances
(SDecide a, SDecide b, SDecide c, SDecide d, SDecide e) => TestCoercion (STuple5 :: (a, b, c, d, e) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances testCoercion :: forall (a0 :: k) (b0 :: k). STuple5 a0 -> STuple5 b0 -> Maybe (Coercion a0 b0) | |
(SDecide a, SDecide b, SDecide c, SDecide d, SDecide e) => TestEquality (STuple5 :: (a, b, c, d, e) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances testEquality :: forall (a0 :: k) (b0 :: k). STuple5 a0 -> STuple5 b0 -> Maybe (a0 :~: b0) | |
(ShowSing a, ShowSing b, ShowSing c, ShowSing d, ShowSing e) => Show (STuple5 z) Source # | |
data STuple6 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type) (f :: Type). (a, b, c, d, e, f) -> Type where Source #
STuple6 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type) (f :: Type) (n :: a) (n :: b) (n :: c) (n :: d) (n :: e) (n :: f). (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> STuple6 ('(n, n, n, n, n, n) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type)) |
Instances
(SDecide a, SDecide b, SDecide c, SDecide d, SDecide e, SDecide f) => TestCoercion (STuple6 :: (a, b, c, d, e, f) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances testCoercion :: forall (a0 :: k) (b0 :: k). STuple6 a0 -> STuple6 b0 -> Maybe (Coercion a0 b0) | |
(SDecide a, SDecide b, SDecide c, SDecide d, SDecide e, SDecide f) => TestEquality (STuple6 :: (a, b, c, d, e, f) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances testEquality :: forall (a0 :: k) (b0 :: k). STuple6 a0 -> STuple6 b0 -> Maybe (a0 :~: b0) | |
(ShowSing a, ShowSing b, ShowSing c, ShowSing d, ShowSing e, ShowSing f) => Show (STuple6 z) Source # | |
data STuple7 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type) (f :: Type) (g :: Type). (a, b, c, d, e, f, g) -> Type where Source #
STuple7 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type) (f :: Type) (g :: Type) (n :: a) (n :: b) (n :: c) (n :: d) (n :: e) (n :: f) (n :: g). (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> STuple7 ('(n, n, n, n, n, n, n) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type)) |
Instances
(SDecide a, SDecide b, SDecide c, SDecide d, SDecide e, SDecide f, SDecide g) => TestCoercion (STuple7 :: (a, b, c, d, e, f, g) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances testCoercion :: forall (a0 :: k) (b0 :: k). STuple7 a0 -> STuple7 b0 -> Maybe (Coercion a0 b0) | |
(SDecide a, SDecide b, SDecide c, SDecide d, SDecide e, SDecide f, SDecide g) => TestEquality (STuple7 :: (a, b, c, d, e, f, g) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances testEquality :: forall (a0 :: k) (b0 :: k). STuple7 a0 -> STuple7 b0 -> Maybe (a0 :~: b0) | |
(ShowSing a, ShowSing b, ShowSing c, ShowSing d, ShowSing e, ShowSing f, ShowSing g) => Show (STuple7 z) Source # | |
data SOrdering :: Ordering -> Type where Source #
SLT :: SOrdering ('LT :: Ordering) | |
SEQ :: SOrdering ('EQ :: Ordering) | |
SGT :: SOrdering ('GT :: Ordering) |
Instances
TestCoercion SOrdering Source # | |
Defined in Data.Singletons.Base.Instances testCoercion :: forall (a :: k) (b :: k). SOrdering a -> SOrdering b -> Maybe (Coercion a b) | |
TestEquality SOrdering Source # | |
Defined in Data.Singletons.Base.Instances testEquality :: forall (a :: k) (b :: k). SOrdering a -> SOrdering b -> Maybe (a :~: b) | |
Show (SOrdering z) Source # | |
module Data.Singletons
Auxiliary definitions
These definitions might be mentioned in code generated by Template Haskell, so they must be in scope.
Instances
PEq All Source # | |
PEq Any Source # | |
PEq Void Source # | |
PEq Ordering Source # | |
PEq Natural Source # | |
PEq () Source # | |
PEq Bool Source # | |
PEq Char Source # | |
PEq Symbol Source # | |
PEq (Identity a) Source # | |
PEq (First a) Source # | |
PEq (Last a) Source # | |
PEq (Down a) Source # | |
PEq (First a) Source # | |
PEq (Last a) Source # | |
PEq (Max a) Source # | |
PEq (Min a) Source # | |
PEq (WrappedMonoid m) Source # | |
PEq (Dual a) Source # | |
PEq (Product a) Source # | |
PEq (Sum a) Source # | |
PEq (NonEmpty a) Source # | |
PEq (Maybe a) Source # | |
PEq (TYPE rep) Source # | |
PEq [a] Source # | |
PEq (Either a b) Source # | |
PEq (Proxy s) Source # | |
PEq (Arg a b) Source # | |
PEq (a, b) Source # | |
PEq (Const a b) Source # | |
PEq (a, b, c) Source # | |
PEq (a, b, c, d) Source # | |
PEq (a, b, c, d, e) Source # | |
PEq (a, b, c, d, e, f) Source # | |
PEq (a, b, c, d, e, f, g) Source # | |
Nothing
(%==) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (==@#@$) t) t :: Bool) :: Type infix 4 Source #
default (%==) :: forall (t :: a) (t :: a). (Apply (Apply (==@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679109603Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (==@#@$) t) t :: Bool) :: Type Source #
(%/=) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (/=@#@$) t) t :: Bool) :: Type infix 4 Source #
Instances
SEq Bool => SEq All Source # | |
SEq Bool => SEq Any Source # | |
SEq Void Source # | |
SEq Ordering Source # | |
SEq Natural Source # | |
SEq () Source # | |
SEq Bool Source # | |
SEq Char Source # | |
SEq Symbol Source # | |
SEq a => SEq (Identity a) Source # | |
SEq (Maybe a) => SEq (First a) Source # | |
SEq (Maybe a) => SEq (Last a) Source # | |
SEq a => SEq (Down a) Source # | |
SEq a => SEq (First a) Source # | |
SEq a => SEq (Last a) Source # | |
SEq a => SEq (Max a) Source # | |
SEq a => SEq (Min a) Source # | |
SEq m => SEq (WrappedMonoid m) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers | |
SEq a => SEq (Dual a) Source # | |
SEq a => SEq (Product a) Source # | |
SEq a => SEq (Sum a) Source # | |
(SEq a, SEq [a]) => SEq (NonEmpty a) Source # | |
SEq a => SEq (Maybe a) Source # | |
SEq (TYPE rep) Source # | |
(SEq a, SEq [a]) => SEq [a] Source # | |
(SEq a, SEq b) => SEq (Either a b) Source # | |
SEq (Proxy s) Source # | |
SEq a => SEq (Arg a b) Source # | |
(SEq a, SEq b) => SEq (a, b) Source # | |
SEq a => SEq (Const a b) Source # | |
(SEq a, SEq b, SEq c) => SEq (a, b, c) Source # | |
(SEq a, SEq b, SEq c, SEq d) => SEq (a, b, c, d) Source # | |
(SEq a, SEq b, SEq c, SEq d, SEq e) => SEq (a, b, c, d, e) Source # | |
(SEq a, SEq b, SEq c, SEq d, SEq e, SEq f) => SEq (a, b, c, d, e, f) Source # | |
Defined in Data.Eq.Singletons | |
(SEq a, SEq b, SEq c, SEq d, SEq e, SEq f, SEq g) => SEq (a, b, c, d, e, f, g) Source # | |
Defined in Data.Eq.Singletons |
type Compare (arg :: a) (arg :: a) :: Ordering Source #
type (arg :: a) < (arg :: a) :: Bool infix 4 Source #
type (arg :: a) <= (arg :: a) :: Bool infix 4 Source #
type (arg :: a) > (arg :: a) :: Bool infix 4 Source #
type (arg :: a) >= (arg :: a) :: Bool infix 4 Source #
Instances
POrd All Source # | |
POrd Any Source # | |
POrd Void Source # | |
POrd Ordering Source # | |
POrd Natural Source # | |
POrd () Source # | |
POrd Bool Source # | |
POrd Char Source # | |
POrd Symbol Source # | |
POrd (Identity a) Source # | |
POrd (First a) Source # | |
POrd (Last a) Source # | |
POrd (Down a) Source # | |
POrd (First a) Source # | |
POrd (Last a) Source # | |
POrd (Max a) Source # | |
POrd (Min a) Source # | |
POrd (WrappedMonoid m) Source # | |
POrd (Dual a) Source # | |
POrd (Product a) Source # | |
POrd (Sum a) Source # | |
POrd (NonEmpty a) Source # | |
POrd (Maybe a) Source # | |
POrd [a] Source # | |
POrd (Either a b) Source # | |
POrd (Proxy s) Source # | |
POrd (Arg a b) Source # | |
POrd (a, b) Source # | |
POrd (Const a b) Source # | |
POrd (a, b, c) Source # | |
POrd (a, b, c, d) Source # | |
POrd (a, b, c, d, e) Source # | |
POrd (a, b, c, d, e, f) Source # | |
POrd (a, b, c, d, e, f, g) Source # | |
class SEq a => SOrd a where Source #
Nothing
sCompare :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t :: Ordering) :: Type Source #
default sCompare :: forall (t :: a) (t :: a). (Apply (Apply CompareSym0 t) t :: Ordering) ~ Apply (Apply Compare_6989586621679190403Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t :: Ordering) :: Type Source #
(%<) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t :: Bool) :: Type infix 4 Source #
default (%<) :: forall (t :: a) (t :: a). (Apply (Apply (<@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679190424Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t :: Bool) :: Type Source #
(%<=) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t :: Bool) :: Type infix 4 Source #
default (%<=) :: forall (t :: a) (t :: a). (Apply (Apply (<=@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679190440Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t :: Bool) :: Type Source #
(%>) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t :: Bool) :: Type infix 4 Source #
default (%>) :: forall (t :: a) (t :: a). (Apply (Apply (>@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679190456Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t :: Bool) :: Type Source #
(%>=) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t :: Bool) :: Type infix 4 Source #
default (%>=) :: forall (t :: a) (t :: a). (Apply (Apply (>=@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679190472Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t :: Bool) :: Type Source #
sMax :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t :: a) :: Type Source #
default sMax :: forall (t :: a) (t :: a). (Apply (Apply MaxSym0 t) t :: a) ~ Apply (Apply Max_6989586621679190488Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t :: a) :: Type Source #
sMin :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t :: a) :: Type Source #
Instances
SOrd Bool => SOrd All Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: All) (t2 :: All). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: All) (t2 :: All). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: All) (t2 :: All). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: All) (t2 :: All). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: All) (t2 :: All). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: All) (t2 :: All). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: All) (t2 :: All). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd Bool => SOrd Any Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: Any) (t2 :: Any). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Any) (t2 :: Any). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Any) (t2 :: Any). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Any) (t2 :: Any). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Any) (t2 :: Any). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Any) (t2 :: Any). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Any) (t2 :: Any). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd Void Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: Void) (t2 :: Void). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Void) (t2 :: Void). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Void) (t2 :: Void). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Void) (t2 :: Void). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Void) (t2 :: Void). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Void) (t2 :: Void). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Void) (t2 :: Void). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd Ordering Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: Ordering) (t2 :: Ordering). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Ordering) (t2 :: Ordering). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Ordering) (t2 :: Ordering). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Ordering) (t2 :: Ordering). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Ordering) (t2 :: Ordering). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Ordering) (t2 :: Ordering). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Ordering) (t2 :: Ordering). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd Natural Source # | |
Defined in GHC.TypeLits.Singletons.Internal sCompare :: forall (t1 :: Natural) (t2 :: Natural). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Natural) (t2 :: Natural). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Natural) (t2 :: Natural). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Natural) (t2 :: Natural). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Natural) (t2 :: Natural). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Natural) (t2 :: Natural). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Natural) (t2 :: Natural). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd () Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: ()) (t2 :: ()). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: ()) (t2 :: ()). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: ()) (t2 :: ()). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: ()) (t2 :: ()). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: ()) (t2 :: ()). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: ()) (t2 :: ()). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: ()) (t2 :: ()). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd Bool Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: Bool) (t2 :: Bool). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Bool) (t2 :: Bool). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Bool) (t2 :: Bool). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Bool) (t2 :: Bool). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Bool) (t2 :: Bool). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Bool) (t2 :: Bool). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Bool) (t2 :: Bool). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd Char Source # | |
Defined in GHC.TypeLits.Singletons.Internal sCompare :: forall (t1 :: Char) (t2 :: Char). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Char) (t2 :: Char). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Char) (t2 :: Char). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Char) (t2 :: Char). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Char) (t2 :: Char). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Char) (t2 :: Char). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Char) (t2 :: Char). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd Symbol Source # | |
Defined in GHC.TypeLits.Singletons.Internal sCompare :: forall (t1 :: Symbol) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Symbol) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Symbol) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Symbol) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Symbol) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Symbol) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Symbol) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Identity a) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: Identity a) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Identity a) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Identity a) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Identity a) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Identity a) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Identity a) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Identity a) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd (Maybe a) => SOrd (First a) Source # | |
Defined in Data.Monoid.Singletons sCompare :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd (Maybe a) => SOrd (Last a) Source # | |
Defined in Data.Monoid.Singletons sCompare :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Down a) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: Down a) (t2 :: Down a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Down a) (t2 :: Down a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Down a) (t2 :: Down a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Down a) (t2 :: Down a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Down a) (t2 :: Down a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Down a) (t2 :: Down a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Down a) (t2 :: Down a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (First a) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Last a) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Max a) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: Max a) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Max a) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Max a) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Max a) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Max a) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Max a) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Max a) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Min a) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: Min a) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Min a) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Min a) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Min a) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Min a) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Min a) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Min a) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd m => SOrd (WrappedMonoid m) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: WrappedMonoid m) (t2 :: WrappedMonoid m). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: WrappedMonoid m) (t2 :: WrappedMonoid m). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: WrappedMonoid m) (t2 :: WrappedMonoid m). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: WrappedMonoid m) (t2 :: WrappedMonoid m). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: WrappedMonoid m) (t2 :: WrappedMonoid m). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: WrappedMonoid m) (t2 :: WrappedMonoid m). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: WrappedMonoid m) (t2 :: WrappedMonoid m). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Dual a) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: Dual a) (t2 :: Dual a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Dual a) (t2 :: Dual a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Dual a) (t2 :: Dual a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Dual a) (t2 :: Dual a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Dual a) (t2 :: Dual a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Dual a) (t2 :: Dual a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Dual a) (t2 :: Dual a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Product a) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: Product a) (t2 :: Product a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Product a) (t2 :: Product a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Product a) (t2 :: Product a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Product a) (t2 :: Product a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Product a) (t2 :: Product a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Product a) (t2 :: Product a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Product a) (t2 :: Product a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Sum a) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: Sum a) (t2 :: Sum a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Sum a) (t2 :: Sum a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Sum a) (t2 :: Sum a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Sum a) (t2 :: Sum a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Sum a) (t2 :: Sum a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Sum a) (t2 :: Sum a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Sum a) (t2 :: Sum a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
(SOrd a, SOrd [a]) => SOrd (NonEmpty a) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: NonEmpty a) (t2 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: NonEmpty a) (t2 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: NonEmpty a) (t2 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: NonEmpty a) (t2 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: NonEmpty a) (t2 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: NonEmpty a) (t2 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: NonEmpty a) (t2 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Maybe a) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: Maybe a) (t2 :: Maybe a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Maybe a) (t2 :: Maybe a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Maybe a) (t2 :: Maybe a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Maybe a) (t2 :: Maybe a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Maybe a) (t2 :: Maybe a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Maybe a) (t2 :: Maybe a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Maybe a) (t2 :: Maybe a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
(SOrd a, SOrd [a]) => SOrd [a] Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: [a]) (t2 :: [a]). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: [a]) (t2 :: [a]). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: [a]) (t2 :: [a]). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: [a]) (t2 :: [a]). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: [a]) (t2 :: [a]). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: [a]) (t2 :: [a]). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: [a]) (t2 :: [a]). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
(SOrd a, SOrd b) => SOrd (Either a b) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: Either a b) (t2 :: Either a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Either a b) (t2 :: Either a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Either a b) (t2 :: Either a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Either a b) (t2 :: Either a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Either a b) (t2 :: Either a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Either a b) (t2 :: Either a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Either a b) (t2 :: Either a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd (Proxy s) Source # | |
Defined in Data.Proxy.Singletons sCompare :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Arg a b) Source # | |
Defined in Data.Semigroup.Singletons sCompare :: forall (t1 :: Arg a b) (t2 :: Arg a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Arg a b) (t2 :: Arg a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Arg a b) (t2 :: Arg a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Arg a b) (t2 :: Arg a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Arg a b) (t2 :: Arg a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Arg a b) (t2 :: Arg a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Arg a b) (t2 :: Arg a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
(SOrd a, SOrd b) => SOrd (a, b) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: (a, b)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: (a, b)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: (a, b)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: (a, b)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: (a, b)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: (a, b)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: (a, b)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Const a b) Source # | |
Defined in Data.Functor.Const.Singletons sCompare :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
(SOrd a, SOrd b, SOrd c) => SOrd (a, b, c) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: (a, b, c)) (t2 :: (a, b, c)). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: (a, b, c)) (t2 :: (a, b, c)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: (a, b, c)) (t2 :: (a, b, c)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: (a, b, c)) (t2 :: (a, b, c)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: (a, b, c)) (t2 :: (a, b, c)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: (a, b, c)) (t2 :: (a, b, c)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: (a, b, c)) (t2 :: (a, b, c)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
(SOrd a, SOrd b, SOrd c, SOrd d) => SOrd (a, b, c, d) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: (a, b, c, d)) (t2 :: (a, b, c, d)). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: (a, b, c, d)) (t2 :: (a, b, c, d)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: (a, b, c, d)) (t2 :: (a, b, c, d)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: (a, b, c, d)) (t2 :: (a, b, c, d)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: (a, b, c, d)) (t2 :: (a, b, c, d)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: (a, b, c, d)) (t2 :: (a, b, c, d)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: (a, b, c, d)) (t2 :: (a, b, c, d)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
(SOrd a, SOrd b, SOrd c, SOrd d, SOrd e) => SOrd (a, b, c, d, e) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: (a, b, c, d, e)) (t2 :: (a, b, c, d, e)). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: (a, b, c, d, e)) (t2 :: (a, b, c, d, e)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: (a, b, c, d, e)) (t2 :: (a, b, c, d, e)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: (a, b, c, d, e)) (t2 :: (a, b, c, d, e)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: (a, b, c, d, e)) (t2 :: (a, b, c, d, e)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: (a, b, c, d, e)) (t2 :: (a, b, c, d, e)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: (a, b, c, d, e)) (t2 :: (a, b, c, d, e)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
(SOrd a, SOrd b, SOrd c, SOrd d, SOrd e, SOrd f) => SOrd (a, b, c, d, e, f) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: (a, b, c, d, e, f)) (t2 :: (a, b, c, d, e, f)). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: (a, b, c, d, e, f)) (t2 :: (a, b, c, d, e, f)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: (a, b, c, d, e, f)) (t2 :: (a, b, c, d, e, f)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: (a, b, c, d, e, f)) (t2 :: (a, b, c, d, e, f)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: (a, b, c, d, e, f)) (t2 :: (a, b, c, d, e, f)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: (a, b, c, d, e, f)) (t2 :: (a, b, c, d, e, f)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: (a, b, c, d, e, f)) (t2 :: (a, b, c, d, e, f)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
(SOrd a, SOrd b, SOrd c, SOrd d, SOrd e, SOrd f, SOrd g) => SOrd (a, b, c, d, e, f, g) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: (a, b, c, d, e, f, g)) (t2 :: (a, b, c, d, e, f, g)). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: (a, b, c, d, e, f, g)) (t2 :: (a, b, c, d, e, f, g)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: (a, b, c, d, e, f, g)) (t2 :: (a, b, c, d, e, f, g)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: (a, b, c, d, e, f, g)) (t2 :: (a, b, c, d, e, f, g)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: (a, b, c, d, e, f, g)) (t2 :: (a, b, c, d, e, f, g)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: (a, b, c, d, e, f, g)) (t2 :: (a, b, c, d, e, f, g)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: (a, b, c, d, e, f, g)) (t2 :: (a, b, c, d, e, f, g)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # |
Members of the SDecide
"kind" class support decidable equality. Instances
of this class are generated alongside singleton definitions for datatypes that
derive an Eq
instance.
(%~) :: forall (a :: k) (b :: k). Sing a -> Sing b -> Decision (a :~: b) infix 4 #
Compute a proof or disproof of equality, given two singletons.
Instances
data (a :: k) :~: (b :: k) where #
Instances
TestCoercion ((:~:) a :: k -> Type) | |
Defined in Data.Type.Coercion testCoercion :: forall (a0 :: k0) (b :: k0). (a :~: a0) -> (a :~: b) -> Maybe (Coercion a0 b) | |
TestEquality ((:~:) a :: k -> Type) | |
Defined in Data.Type.Equality testEquality :: forall (a0 :: k0) (b :: k0). (a :~: a0) -> (a :~: b) -> Maybe (a0 :~: b) | |
NFData2 ((:~:) :: Type -> Type -> Type) | |
Defined in Control.DeepSeq | |
NFData1 ((:~:) a) | |
Defined in Control.DeepSeq | |
a ~ b => Bounded (a :~: b) | |
Defined in Data.Type.Equality | |
a ~ b => Enum (a :~: b) | |
Defined in Data.Type.Equality | |
a ~ b => Read (a :~: b) | |
Defined in Data.Type.Equality | |
Show (a :~: b) | |
NFData (a :~: b) | |
Defined in Control.DeepSeq | |
Eq (a :~: b) | |
Ord (a :~: b) | |
Defined in Data.Type.Equality |
Instances
A Decision
about a type a
is either a proof of existence or a proof that a
cannot exist.
Instances
PBounded All Source # | |
PBounded Any Source # | |
PBounded Ordering Source # | |
PBounded () Source # | |
PBounded Bool Source # | |
PBounded Char Source # | |
PBounded (Identity a) Source # | |
PBounded (First a) Source # | |
PBounded (Last a) Source # | |
PBounded (Max a) Source # | |
PBounded (Min a) Source # | |
PBounded (WrappedMonoid m) Source # | |
PBounded (Dual a) Source # | |
PBounded (Product a) Source # | |
PBounded (Sum a) Source # | |
PBounded (Proxy s) Source # | |
PBounded (a, b) Source # | |
PBounded (Const a b) Source # | |
PBounded (a, b, c) Source # | |
PBounded (a, b, c, d) Source # | |
PBounded (a, b, c, d, e) Source # | |
PBounded (a, b, c, d, e, f) Source # | |
PBounded (a, b, c, d, e, f, g) Source # | |
class SBounded a where Source #
sMinBound :: Sing (MinBoundSym0 :: a) :: Type Source #
sMaxBound :: Sing (MaxBoundSym0 :: a) :: Type Source #
Instances
Instances
PEnum Ordering Source # | |
PEnum Natural Source # | |
PEnum () Source # | |
PEnum Bool Source # | |
PEnum Char Source # | |
PEnum (Identity a) Source # | |
PEnum (First a) Source # | |
PEnum (Last a) Source # | |
PEnum (Max a) Source # | |
PEnum (Min a) Source # | |
PEnum (WrappedMonoid a) Source # | |
PEnum (Proxy s) Source # | |
PEnum (Const a b) Source # | |
sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t :: a) :: Type Source #
sFromEnum :: forall (t :: a). Sing t -> Sing (Apply FromEnumSym0 t :: Natural) :: Type Source #
Instances
SEnum Ordering Source # | |
Defined in Data.Singletons.Base.Enum sSucc :: forall (t :: Ordering). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Ordering). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Ordering). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t1 :: Ordering) (t2 :: Ordering). Sing t1 -> Sing t2 -> Sing (Apply (Apply EnumFromToSym0 t1) t2) Source # sEnumFromThenTo :: forall (t1 :: Ordering) (t2 :: Ordering) (t3 :: Ordering). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t1) t2) t3) Source # | |
SEnum Natural Source # | |
Defined in Data.Singletons.Base.Enum sSucc :: forall (t :: Natural). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Natural). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Natural). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t1 :: Natural) (t2 :: Natural). Sing t1 -> Sing t2 -> Sing (Apply (Apply EnumFromToSym0 t1) t2) Source # sEnumFromThenTo :: forall (t1 :: Natural) (t2 :: Natural) (t3 :: Natural). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t1) t2) t3) Source # | |
SEnum () Source # | |
Defined in Data.Singletons.Base.Enum sSucc :: forall (t :: ()). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: ()). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: ()). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t1 :: ()) (t2 :: ()). Sing t1 -> Sing t2 -> Sing (Apply (Apply EnumFromToSym0 t1) t2) Source # sEnumFromThenTo :: forall (t1 :: ()) (t2 :: ()) (t3 :: ()). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t1) t2) t3) Source # | |
SEnum Bool Source # | |
Defined in Data.Singletons.Base.Enum sSucc :: forall (t :: Bool). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Bool). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Bool). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t1 :: Bool) (t2 :: Bool). Sing t1 -> Sing t2 -> Sing (Apply (Apply EnumFromToSym0 t1) t2) Source # sEnumFromThenTo :: forall (t1 :: Bool) (t2 :: Bool) (t3 :: Bool). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t1) t2) t3) Source # | |
SEnum Char Source # | |
Defined in Data.Singletons.Base.Enum sSucc :: forall (t :: Char). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Char). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Char). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t1 :: Char) (t2 :: Char). Sing t1 -> Sing t2 -> Sing (Apply (Apply EnumFromToSym0 t1) t2) Source # sEnumFromThenTo :: forall (t1 :: Char) (t2 :: Char) (t3 :: Char). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t1) t2) t3) Source # | |
SEnum a => SEnum (Identity a) Source # | |
Defined in Data.Functor.Identity.Singletons sSucc :: forall (t :: Identity a). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Identity a). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Identity a). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t1 :: Identity a) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply EnumFromToSym0 t1) t2) Source # sEnumFromThenTo :: forall (t1 :: Identity a) (t2 :: Identity a) (t3 :: Identity a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t1) t2) t3) Source # | |
SEnum a => SEnum (First a) Source # | |
Defined in Data.Semigroup.Singletons sSucc :: forall (t :: First a). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: First a). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: First a). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply EnumFromToSym0 t1) t2) Source # sEnumFromThenTo :: forall (t1 :: First a) (t2 :: First a) (t3 :: First a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t1) t2) t3) Source # | |
SEnum a => SEnum (Last a) Source # | |
Defined in Data.Semigroup.Singletons sSucc :: forall (t :: Last a). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Last a). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Last a). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply EnumFromToSym0 t1) t2) Source # sEnumFromThenTo :: forall (t1 :: Last a) (t2 :: Last a) (t3 :: Last a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t1) t2) t3) Source # | |
SEnum a => SEnum (Max a) Source # | |
Defined in Data.Semigroup.Singletons sSucc :: forall (t :: Max a). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Max a). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Max a). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t1 :: Max a) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply EnumFromToSym0 t1) t2) Source # sEnumFromThenTo :: forall (t1 :: Max a) (t2 :: Max a) (t3 :: Max a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t1) t2) t3) Source # | |
SEnum a => SEnum (Min a) Source # | |
Defined in Data.Semigroup.Singletons sSucc :: forall (t :: Min a). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Min a). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Min a). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t1 :: Min a) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply EnumFromToSym0 t1) t2) Source # sEnumFromThenTo :: forall (t1 :: Min a) (t2 :: Min a) (t3 :: Min a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t1) t2) t3) Source # | |
SEnum a => SEnum (WrappedMonoid a) Source # | |
Defined in Data.Semigroup.Singletons sSucc :: forall (t :: WrappedMonoid a). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: WrappedMonoid a). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: WrappedMonoid a). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t1 :: WrappedMonoid a) (t2 :: WrappedMonoid a). Sing t1 -> Sing t2 -> Sing (Apply (Apply EnumFromToSym0 t1) t2) Source # sEnumFromThenTo :: forall (t1 :: WrappedMonoid a) (t2 :: WrappedMonoid a) (t3 :: WrappedMonoid a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t1) t2) t3) Source # | |
SEnum (Proxy s) Source # | |
Defined in Data.Proxy.Singletons sSucc :: forall (t :: Proxy s). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Proxy s). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Proxy s). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (Apply (Apply EnumFromToSym0 t1) t2) Source # sEnumFromThenTo :: forall (t1 :: Proxy s) (t2 :: Proxy s) (t3 :: Proxy s). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t1) t2) t3) Source # | |
SEnum a => SEnum (Const a b) Source # | |
Defined in Data.Functor.Const.Singletons sSucc :: forall (t :: Const a b). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Const a b). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Const a b). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply EnumFromToSym0 t1) t2) Source # sEnumFromThenTo :: forall (t1 :: Const a b) (t2 :: Const a b) (t3 :: Const a b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t1) t2) t3) Source # |
type ShowsPrec (arg :: Natural) (arg :: a) (arg :: Symbol) :: Symbol Source #
type Show_ (arg :: a) :: Symbol Source #
type ShowList (arg :: [a]) (arg :: Symbol) :: Symbol Source #
Instances
PShow All Source # | |
PShow Any Source # | |
PShow Void Source # | |
PShow Ordering Source # | |
PShow Natural Source # | |
PShow () Source # | |
PShow Bool Source # | |
PShow Char Source # | |
PShow Symbol Source # | |
PShow (Identity a) Source # | |
PShow (First a) Source # | |
PShow (Last a) Source # | |
PShow (First a) Source # | |
PShow (Last a) Source # | |
PShow (Max a) Source # | |
PShow (Min a) Source # | |
PShow (WrappedMonoid m) Source # | |
PShow (Dual a) Source # | |
PShow (Product a) Source # | |
PShow (Sum a) Source # | |
PShow (NonEmpty a) Source # | |
PShow (Maybe a) Source # | |
PShow [a] Source # | |
PShow (Either a b) Source # | |
PShow (Proxy s) Source # | |
PShow (Arg a b) Source # | |
PShow (a, b) Source # | |
PShow (Const a b) Source # | |
PShow (a, b, c) Source # | |
PShow (a, b, c, d) Source # | |
PShow (a, b, c, d, e) Source # | |
PShow (a, b, c, d, e, f) Source # | |
PShow (a, b, c, d, e, f, g) Source # | |
Nothing
sShowsPrec :: forall (t :: Natural) (t :: a) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t :: Symbol) :: Type Source #
default sShowsPrec :: forall (t :: Natural) (t :: a) (t :: Symbol). (Apply (Apply (Apply ShowsPrecSym0 t) t) t :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621679965756Sym0 t) t) t => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t :: Symbol) :: Type Source #
sShow_ :: forall (t :: a). Sing t -> Sing (Apply Show_Sym0 t :: Symbol) :: Type Source #
default sShow_ :: forall (t :: a). (Apply Show_Sym0 t :: Symbol) ~ Apply Show__6989586621679965768Sym0 t => Sing t -> Sing (Apply Show_Sym0 t :: Symbol) :: Type Source #
sShowList :: forall (t :: [a]) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t :: Symbol) :: Type Source #
Instances
SShow Bool => SShow All Source # | |
Defined in Data.Semigroup.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: All) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: All). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [All]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow Bool => SShow Any Source # | |
Defined in Data.Semigroup.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Any) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Any). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Any]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow Void Source # | |
Defined in Text.Show.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Void) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Void). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Void]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow Ordering Source # | |
Defined in Text.Show.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Ordering) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Ordering). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Ordering]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow Natural Source # | |
Defined in Text.Show.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Natural) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Natural). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Natural]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow () Source # | |
Defined in Text.Show.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: ()) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: ()). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [()]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow Bool Source # | |
Defined in Text.Show.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Bool) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Bool). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Bool]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow Char Source # | |
Defined in Text.Show.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Char) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Char). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Char]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow Symbol Source # | |
Defined in Text.Show.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Symbol) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Symbol). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Symbol]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow a => SShow (Identity a) Source # | |
Defined in Data.Functor.Identity.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Identity a) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Identity a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Identity a]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow (Maybe a) => SShow (First a) Source # | |
Defined in Data.Monoid.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: First a) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: First a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [First a]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow (Maybe a) => SShow (Last a) Source # | |
Defined in Data.Monoid.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Last a) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Last a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Last a]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow a => SShow (First a) Source # | |
Defined in Data.Semigroup.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: First a) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: First a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [First a]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow a => SShow (Last a) Source # | |
Defined in Data.Semigroup.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Last a) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Last a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Last a]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow a => SShow (Max a) Source # | |
Defined in Data.Semigroup.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Max a) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Max a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Max a]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow a => SShow (Min a) Source # | |
Defined in Data.Semigroup.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Min a) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Min a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Min a]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow m => SShow (WrappedMonoid m) Source # | |
Defined in Data.Semigroup.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: WrappedMonoid m) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: WrappedMonoid m). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [WrappedMonoid m]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow a => SShow (Dual a) Source # | |
Defined in Data.Semigroup.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Dual a) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Dual a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Dual a]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow a => SShow (Product a) Source # | |
Defined in Data.Semigroup.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Product a) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Product a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Product a]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow a => SShow (Sum a) Source # | |
Defined in Data.Semigroup.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Sum a) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Sum a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Sum a]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
(SShow a, SShow [a]) => SShow (NonEmpty a) Source # | |
Defined in Text.Show.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: NonEmpty a) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: NonEmpty a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [NonEmpty a]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow a => SShow (Maybe a) Source # | |
Defined in Text.Show.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Maybe a) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Maybe a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Maybe a]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow a => SShow [a] Source # | |
Defined in Text.Show.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: [a]) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: [a]). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [[a]]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
(SShow a, SShow b) => SShow (Either a b) Source # | |
Defined in Text.Show.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Either a b) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Either a b). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Either a b]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow (Proxy s) Source # | |
Defined in Data.Proxy.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Proxy s) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Proxy s). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Proxy s]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
(SShow a, SShow b) => SShow (Arg a b) Source # | |
Defined in Data.Semigroup.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Arg a b) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Arg a b). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Arg a b]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
(SShow a, SShow b) => SShow (a, b) Source # | |
Defined in Text.Show.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: (a, b)) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: (a, b)). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [(a, b)]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SShow a => SShow (Const a b) Source # | |
Defined in Data.Functor.Const.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Const a b) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Const a b). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Const a b]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
(SShow a, SShow b, SShow c) => SShow (a, b, c) Source # | |
Defined in Text.Show.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: (a, b, c)) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: (a, b, c)). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [(a, b, c)]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
(SShow a, SShow b, SShow c, SShow d) => SShow (a, b, c, d) Source # | |
Defined in Text.Show.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: (a, b, c, d)) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: (a, b, c, d)). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [(a, b, c, d)]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
(SShow a, SShow b, SShow c, SShow d, SShow e) => SShow (a, b, c, d, e) Source # | |
Defined in Text.Show.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: (a, b, c, d, e)) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: (a, b, c, d, e)). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [(a, b, c, d, e)]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
(SShow a, SShow b, SShow c, SShow d, SShow e, SShow f) => SShow (a, b, c, d, e, f) Source # | |
Defined in Text.Show.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: (a, b, c, d, e, f)) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: (a, b, c, d, e, f)). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [(a, b, c, d, e, f)]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
(SShow a, SShow b, SShow c, SShow d, SShow e, SShow f, SShow g) => SShow (a, b, c, d, e, f, g) Source # | |
Defined in Text.Show.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: (a, b, c, d, e, f, g)) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: (a, b, c, d, e, f, g)). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [(a, b, c, d, e, f, g)]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # |
type FromString (arg :: Symbol) :: a Source #
Instances
PIsString Symbol Source # | |
Defined in Data.String.Singletons type FromString arg :: a Source # | |
PIsString (Identity a) Source # | |
Defined in Data.String.Singletons type FromString arg :: a Source # | |
PIsString (Const a b) Source # | |
Defined in Data.String.Singletons type FromString arg :: a Source # |
class SIsString a where Source #
sFromString :: forall (t :: Symbol). Sing t -> Sing (Apply FromStringSym0 t :: a) :: Type Source #
Instances
SIsString Symbol Source # | |
Defined in Data.String.Singletons sFromString :: forall (t :: Symbol). Sing t -> Sing (Apply FromStringSym0 t) Source # | |
SIsString a => SIsString (Identity a) Source # | |
Defined in Data.String.Singletons sFromString :: forall (t :: Symbol). Sing t -> Sing (Apply FromStringSym0 t) Source # | |
SIsString a => SIsString (Const a b) Source # | |
Defined in Data.String.Singletons sFromString :: forall (t :: Symbol). Sing t -> Sing (Apply FromStringSym0 t) Source # |
type family ShowString (a :: Symbol) (a :: Symbol) :: Symbol where ... Source #
ShowString a_6989586621679965690 a_6989586621679965692 = Apply (Apply (<>@#@$) a_6989586621679965690) a_6989586621679965692 |
sShowString :: forall (t :: Symbol) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowStringSym0 t) t :: Symbol) :: Type Source #
type family ShowParen (a :: Bool) (a :: (~>) Symbol Symbol) (a :: Symbol) :: Symbol where ... Source #
sShowParen :: forall (t :: Bool) (t :: (~>) Symbol Symbol) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowParenSym0 t) t) t :: Symbol) :: Type Source #
sShowSpace :: forall (t :: Symbol). Sing t -> Sing (Apply ShowSpaceSym0 t :: Symbol) :: Type Source #
type family ShowChar (a :: Char) (a :: Symbol) :: Symbol where ... Source #
ShowChar a_6989586621679965701 a_6989586621679965703 = Apply (Apply ConsSymbolSym0 a_6989586621679965701) a_6989586621679965703 |
sShowChar :: forall (t :: Char) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowCharSym0 t) t :: Symbol) :: Type Source #
type family ShowCommaSpace (a :: Symbol) :: Symbol where ... Source #
ShowCommaSpace a_6989586621679965659 = Apply (Apply ShowStringSym0 ", ") a_6989586621679965659 |
sShowCommaSpace :: forall (t :: Symbol). Sing t -> Sing (Apply ShowCommaSpaceSym0 t :: Symbol) :: Type Source #
type family FromInteger (arg :: Natural) :: a Source #
Instances
type FromInteger a Source # | |
Defined in GHC.Num.Singletons type FromInteger a = a | |
type FromInteger a2 Source # | |
Defined in Data.Functor.Identity.Singletons type FromInteger a2 | |
type FromInteger a2 Source # | |
Defined in GHC.Num.Singletons type FromInteger a2 | |
type FromInteger a2 Source # | |
Defined in Data.Semigroup.Singletons type FromInteger a2 | |
type FromInteger a2 Source # | |
Defined in Data.Semigroup.Singletons type FromInteger a2 | |
type FromInteger a2 Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers type FromInteger a2 | |
type FromInteger a2 Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers type FromInteger a2 | |
type FromInteger a2 Source # | |
Defined in Data.Functor.Const.Singletons type FromInteger a2 |
sFromInteger :: SNum a => forall (t :: Natural). Sing t -> Sing (Apply FromIntegerSym0 t :: a) :: Type Source #
type family Negate (arg :: a) :: a Source #
Instances
type Negate (a :: Natural) Source # | |
Defined in GHC.Num.Singletons | |
type Negate (a2 :: Identity a1) Source # | |
Defined in Data.Functor.Identity.Singletons type Negate (a2 :: Identity a1) | |
type Negate (a2 :: Down a1) Source # | |
Defined in GHC.Num.Singletons type Negate (a2 :: Down a1) | |
type Negate (a2 :: Max a1) Source # | |
Defined in Data.Semigroup.Singletons type Negate (a2 :: Max a1) | |
type Negate (a2 :: Min a1) Source # | |
Defined in Data.Semigroup.Singletons type Negate (a2 :: Min a1) | |
type Negate (a2 :: Product a1) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers type Negate (a2 :: Product a1) | |
type Negate (a2 :: Sum a1) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers type Negate (a2 :: Sum a1) | |
type Negate (a2 :: Const a1 b) Source # | |
Defined in Data.Functor.Const.Singletons |
Instances
PFunctor Identity Source # | |
PFunctor First Source # | |
PFunctor Last Source # | |
PFunctor Down Source # | |
PFunctor First Source # | |
PFunctor Last Source # | |
PFunctor Max Source # | |
PFunctor Min Source # | |
PFunctor Dual Source # | |
PFunctor Product Source # | |
PFunctor Sum Source # | |
PFunctor NonEmpty Source # | |
PFunctor Maybe Source # | |
PFunctor List Source # | |
PFunctor (Either a) Source # | |
PFunctor (Proxy :: Type -> Type) Source # | |
PFunctor (Arg a) Source # | |
PFunctor ((,) a) Source # | |
PFunctor (Const m :: Type -> Type) Source # | |
PFunctor (Product f g) Source # | |
PFunctor (Sum f g) Source # | |
PFunctor (Compose f g) Source # | |
class SFunctor f where Source #
sFmap :: forall (t :: (~>) a b) (t :: f a). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t :: f b) :: Type Source #
(%<$) :: forall (t :: a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t :: f a) :: Type infixl 4 Source #
Instances
SFunctor Identity Source # | |
SFunctor First Source # | |
SFunctor Last Source # | |
SFunctor Down Source # | |
SFunctor First Source # | |
SFunctor Last Source # | |
SFunctor Max Source # | |
SFunctor Min Source # | |
SFunctor Dual Source # | |
SFunctor Product Source # | |
SFunctor Sum Source # | |
SFunctor NonEmpty Source # | |
SFunctor Maybe Source # | |
SFunctor List Source # | |
SFunctor (Either a) Source # | |
SFunctor (Proxy :: Type -> Type) Source # | |
SFunctor (Arg a) Source # | |
SFunctor ((,) a) Source # | |
SFunctor (Const m :: Type -> Type) Source # | |
(SFunctor f, SFunctor g) => SFunctor (Product f g) Source # | |
(SFunctor f, SFunctor g) => SFunctor (Sum f g) Source # | |
(SFunctor f, SFunctor g) => SFunctor (Compose f g) Source # | |
type Fold (arg :: t m) :: m Source #
type FoldMap (arg :: (~>) a m) (arg :: t a) :: m Source #
type Foldr (arg :: (~>) a ((~>) b b)) (arg :: b) (arg :: t a) :: b Source #
type Foldr' (arg :: (~>) a ((~>) b b)) (arg :: b) (arg :: t a) :: b Source #
type Foldl (arg :: (~>) b ((~>) a b)) (arg :: b) (arg :: t a) :: b Source #
type Foldl' (arg :: (~>) b ((~>) a b)) (arg :: b) (arg :: t a) :: b Source #
type Foldr1 (arg :: (~>) a ((~>) a a)) (arg :: t a) :: a Source #
type Foldl1 (arg :: (~>) a ((~>) a a)) (arg :: t a) :: a Source #
type ToList (arg :: t a) :: [a] Source #
type Null (arg :: t a) :: Bool Source #
type Length (arg :: t a) :: Natural Source #
type Elem (arg :: a) (arg :: t a) :: Bool Source #
type Maximum (arg :: t a) :: a Source #
type Minimum (arg :: t a) :: a Source #
Instances
PFoldable Identity Source # | |
Defined in Data.Functor.Identity.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable First Source # | |
Defined in Data.Foldable.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable Last Source # | |
Defined in Data.Foldable.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable First Source # | |
Defined in Data.Semigroup.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable Last Source # | |
Defined in Data.Semigroup.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable Max Source # | |
Defined in Data.Semigroup.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable Min Source # | |
Defined in Data.Semigroup.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable Dual Source # | |
Defined in Data.Foldable.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable Product Source # | |
Defined in Data.Foldable.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable Sum Source # | |
Defined in Data.Foldable.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable NonEmpty Source # | |
Defined in Data.Foldable.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable Maybe Source # | |
Defined in Data.Foldable.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable List Source # | |
Defined in Data.Foldable.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable (Either a) Source # | |
Defined in Data.Foldable.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable (Proxy :: Type -> Type) Source # | |
Defined in Data.Foldable.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable (Arg a) Source # | |
Defined in Data.Semigroup.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable ((,) a) Source # | |
Defined in Data.Foldable.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable (Const m :: Type -> Type) Source # | |
Defined in Data.Functor.Const.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable (Product f g) Source # | |
Defined in Data.Functor.Product.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable (Sum f g) Source # | |
Defined in Data.Functor.Sum.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
PFoldable (Compose f g) Source # | |
Defined in Data.Functor.Compose.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # |
class SFoldable t where Source #
Nothing
sFold :: forall (t :: t m). SMonoid m => Sing t -> Sing (Apply FoldSym0 t :: m) :: Type Source #
default sFold :: forall (t :: t m). ((Apply FoldSym0 t :: m) ~ Apply Fold_6989586621680110620Sym0 t, SMonoid m) => Sing t -> Sing (Apply FoldSym0 t :: m) :: Type Source #
sFoldMap :: forall (t :: (~>) a m) (t :: t a). SMonoid m => Sing t -> Sing t -> Sing (Apply (Apply FoldMapSym0 t) t :: m) :: Type Source #
default sFoldMap :: forall (t :: (~>) a m) (t :: t a). ((Apply (Apply FoldMapSym0 t) t :: m) ~ Apply (Apply FoldMap_6989586621680110630Sym0 t) t, SMonoid m) => Sing t -> Sing t -> Sing (Apply (Apply FoldMapSym0 t) t :: m) :: Type Source #
sFoldr :: forall (t :: (~>) a ((~>) b b)) (t :: b) (t :: t a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t :: b) :: Type Source #
default sFoldr :: forall (t :: (~>) a ((~>) b b)) (t :: b) (t :: t a). (Apply (Apply (Apply FoldrSym0 t) t) t :: b) ~ Apply (Apply (Apply Foldr_6989586621680110644Sym0 t) t) t => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t :: b) :: Type Source #
sFoldr' :: forall (t :: (~>) a ((~>) b b)) (t :: b) (t :: t a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldr'Sym0 t) t) t :: b) :: Type Source #
default sFoldr' :: forall (t :: (~>) a ((~>) b b)) (t :: b) (t :: t a). (Apply (Apply (Apply Foldr'Sym0 t) t) t :: b) ~ Apply (Apply (Apply Foldr'_6989586621680110659Sym0 t) t) t => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldr'Sym0 t) t) t :: b) :: Type Source #
sFoldl :: forall (t :: (~>) b ((~>) a b)) (t :: b) (t :: t a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t :: b) :: Type Source #
default sFoldl :: forall (t :: (~>) b ((~>) a b)) (t :: b) (t :: t a). (Apply (Apply (Apply FoldlSym0 t) t) t :: b) ~ Apply (Apply (Apply Foldl_6989586621680110682Sym0 t) t) t => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t :: b) :: Type Source #
sFoldl' :: forall (t :: (~>) b ((~>) a b)) (t :: b) (t :: t a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldl'Sym0 t) t) t :: b) :: Type Source #
default sFoldl' :: forall (t :: (~>) b ((~>) a b)) (t :: b) (t :: t a). (Apply (Apply (Apply Foldl'Sym0 t) t) t :: b) ~ Apply (Apply (Apply Foldl'_6989586621680110697Sym0 t) t) t => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldl'Sym0 t) t) t :: b) :: Type Source #
sFoldr1 :: forall (t :: (~>) a ((~>) a a)) (t :: t a). Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t :: a) :: Type Source #
default sFoldr1 :: forall (t :: (~>) a ((~>) a a)) (t :: t a). (Apply (Apply Foldr1Sym0 t) t :: a) ~ Apply (Apply Foldr1_6989586621680110719Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t :: a) :: Type Source #
sFoldl1 :: forall (t :: (~>) a ((~>) a a)) (t :: t a). Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t :: a) :: Type Source #
default sFoldl1 :: forall (t :: (~>) a ((~>) a a)) (t :: t a). (Apply (Apply Foldl1Sym0 t) t :: a) ~ Apply (Apply Foldl1_6989586621680110740Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t :: a) :: Type Source #
sToList :: forall (t :: t a). Sing t -> Sing (Apply ToListSym0 t :: [a]) :: Type Source #
default sToList :: forall (t :: t a). (Apply ToListSym0 t :: [a]) ~ Apply ToList_6989586621680110760Sym0 t => Sing t -> Sing (Apply ToListSym0 t :: [a]) :: Type Source #
sNull :: forall (t :: t a). Sing t -> Sing (Apply NullSym0 t :: Bool) :: Type Source #
default sNull :: forall (t :: t a). (Apply NullSym0 t :: Bool) ~ Apply Null_6989586621680110769Sym0 t => Sing t -> Sing (Apply NullSym0 t :: Bool) :: Type Source #
sLength :: forall (t :: t a). Sing t -> Sing (Apply LengthSym0 t :: Natural) :: Type Source #
default sLength :: forall (t :: t a). (Apply LengthSym0 t :: Natural) ~ Apply Length_6989586621680110786Sym0 t => Sing t -> Sing (Apply LengthSym0 t :: Natural) :: Type Source #
sElem :: forall (t :: a) (t :: t a). SEq a => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t :: Bool) :: Type Source #
default sElem :: forall (t :: a) (t :: t a). ((Apply (Apply ElemSym0 t) t :: Bool) ~ Apply (Apply Elem_6989586621680110805Sym0 t) t, SEq a) => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t :: Bool) :: Type Source #
sMaximum :: forall a (t :: t a). SOrd a => Sing t -> Sing (Apply MaximumSym0 t :: a) Source #
default sMaximum :: forall a (t :: t a). ((Apply MaximumSym0 t :: a) ~ Apply Maximum_6989586621680110819Sym0 t, SOrd a) => Sing t -> Sing (Apply MaximumSym0 t :: a) Source #
sMinimum :: forall a (t :: t a). SOrd a => Sing t -> Sing (Apply MinimumSym0 t :: a) Source #
default sMinimum :: forall a (t :: t a). ((Apply MinimumSym0 t :: a) ~ Apply Minimum_6989586621680110834Sym0 t, SOrd a) => Sing t -> Sing (Apply MinimumSym0 t :: a) Source #
sSum :: forall (t :: t a). SNum a => Sing t -> Sing (Apply SumSym0 t :: a) :: Type Source #
default sSum :: forall (t :: t a). ((Apply SumSym0 t :: a) ~ Apply Sum_6989586621680110849Sym0 t, SNum a) => Sing t -> Sing (Apply SumSym0 t :: a) :: Type Source #
sProduct :: forall (t :: t a). SNum a => Sing t -> Sing (Apply ProductSym0 t :: a) :: Type Source #
Instances
SFoldable Identity Source # | |
Defined in Data.Functor.Identity.Singletons sFold :: forall m (t1 :: Identity m). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m (t1 :: a ~> m) (t2 :: Identity a). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Identity a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Identity a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Identity a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Identity a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: Identity a). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: Identity a). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: Identity a). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: Identity a). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: Identity a). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: Identity a). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: Identity a). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: Identity a). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
SFoldable First Source # | |
Defined in Data.Foldable.Singletons sFold :: forall m (t1 :: First m). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m (t1 :: a ~> m) (t2 :: First a). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: First a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: First a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: First a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: First a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: First a). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: First a). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: First a). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: First a). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: First a). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: First a). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: First a). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: First a). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
SFoldable Last Source # | |
Defined in Data.Foldable.Singletons sFold :: forall m (t1 :: Last m). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m (t1 :: a ~> m) (t2 :: Last a). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Last a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Last a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Last a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Last a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: Last a). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: Last a). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: Last a). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: Last a). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: Last a). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: Last a). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: Last a). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: Last a). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
SFoldable First Source # | |
Defined in Data.Semigroup.Singletons sFold :: forall m (t1 :: First m). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m (t1 :: a ~> m) (t2 :: First a). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: First a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: First a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: First a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: First a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: First a). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: First a). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: First a). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: First a). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: First a). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: First a). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: First a). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: First a). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
SFoldable Last Source # | |
Defined in Data.Semigroup.Singletons sFold :: forall m (t1 :: Last m). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m (t1 :: a ~> m) (t2 :: Last a). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Last a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Last a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Last a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Last a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: Last a). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: Last a). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: Last a). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: Last a). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: Last a). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: Last a). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: Last a). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: Last a). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
SFoldable Max Source # | |
Defined in Data.Semigroup.Singletons sFold :: forall m (t1 :: Max m). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m (t1 :: a ~> m) (t2 :: Max a). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Max a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Max a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Max a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Max a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: Max a). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: Max a). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: Max a). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: Max a). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: Max a). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: Max a). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: Max a). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: Max a). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
SFoldable Min Source # | |
Defined in Data.Semigroup.Singletons sFold :: forall m (t1 :: Min m). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m (t1 :: a ~> m) (t2 :: Min a). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Min a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Min a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Min a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Min a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: Min a). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: Min a). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: Min a). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: Min a). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: Min a). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: Min a). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: Min a). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: Min a). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
SFoldable Dual Source # | |
Defined in Data.Foldable.Singletons sFold :: forall m (t1 :: Dual m). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m (t1 :: a ~> m) (t2 :: Dual a). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Dual a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Dual a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Dual a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Dual a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Dual a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Dual a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: Dual a). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: Dual a). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: Dual a). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: Dual a). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: Dual a). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: Dual a). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: Dual a). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: Dual a). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
SFoldable Product Source # | |
Defined in Data.Foldable.Singletons sFold :: forall m (t1 :: Product m). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m (t1 :: a ~> m) (t2 :: Product a). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Product a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Product a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Product a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Product a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Product a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Product a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: Product a). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: Product a). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: Product a). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: Product a). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: Product a). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: Product a). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: Product a). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: Product a). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
SFoldable Sum Source # | |
Defined in Data.Foldable.Singletons sFold :: forall m (t1 :: Sum m). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m (t1 :: a ~> m) (t2 :: Sum a). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Sum a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Sum a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Sum a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Sum a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Sum a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Sum a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: Sum a). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: Sum a). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: Sum a). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: Sum a). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: Sum a). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: Sum a). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: Sum a). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: Sum a). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
SFoldable NonEmpty Source # | |
Defined in Data.Foldable.Singletons sFold :: forall m (t1 :: NonEmpty m). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m (t1 :: a ~> m) (t2 :: NonEmpty a). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: NonEmpty a). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: NonEmpty a). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: NonEmpty a). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: NonEmpty a). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: NonEmpty a). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: NonEmpty a). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: NonEmpty a). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: NonEmpty a). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
SFoldable Maybe Source # | |
Defined in Data.Foldable.Singletons sFold :: forall m (t1 :: Maybe m). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m (t1 :: a ~> m) (t2 :: Maybe a). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Maybe a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Maybe a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Maybe a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Maybe a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Maybe a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Maybe a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: Maybe a). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: Maybe a). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: Maybe a). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: Maybe a). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: Maybe a). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: Maybe a). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: Maybe a). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: Maybe a). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
SFoldable List Source # | |
Defined in Data.Foldable.Singletons sFold :: forall m (t1 :: [m]). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m (t1 :: a ~> m) (t2 :: [a]). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: [a]). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: [a]). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: [a]). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: [a]). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: [a]). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: [a]). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: [a]). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: [a]). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: [a]). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: [a]). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: [a]). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: [a]). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: [a]). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: [a]). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
SFoldable (Either a) Source # | |
Defined in Data.Foldable.Singletons sFold :: forall m (t1 :: Either a m). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a0 m (t1 :: a0 ~> m) (t2 :: Either a a0). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a0 b (t1 :: a0 ~> (b ~> b)) (t2 :: b) (t3 :: Either a a0). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a0 b (t1 :: a0 ~> (b ~> b)) (t2 :: b) (t3 :: Either a a0). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a0 (t1 :: b ~> (a0 ~> b)) (t2 :: b) (t3 :: Either a a0). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a0 (t1 :: b ~> (a0 ~> b)) (t2 :: b) (t3 :: Either a a0). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a0 (t1 :: a0 ~> (a0 ~> a0)) (t2 :: Either a a0). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a0 (t1 :: a0 ~> (a0 ~> a0)) (t2 :: Either a a0). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a0 (t1 :: Either a a0). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a0 (t1 :: Either a a0). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a0 (t1 :: Either a a0). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a0 (t1 :: a0) (t2 :: Either a a0). SEq a0 => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a0 (t1 :: Either a a0). SOrd a0 => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a0 (t1 :: Either a a0). SOrd a0 => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a0 (t1 :: Either a a0). SNum a0 => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a0 (t1 :: Either a a0). SNum a0 => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
SFoldable (Proxy :: Type -> Type) Source # | |
Defined in Data.Foldable.Singletons sFold :: forall m (t1 :: Proxy m). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m (t1 :: a ~> m) (t2 :: Proxy a). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Proxy a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Proxy a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Proxy a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Proxy a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Proxy a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Proxy a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: Proxy a). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: Proxy a). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: Proxy a). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: Proxy a). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: Proxy a). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: Proxy a). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: Proxy a). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: Proxy a). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
SFoldable (Arg a) Source # | |
Defined in Data.Semigroup.Singletons sFold :: forall m (t1 :: Arg a m). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a0 m (t1 :: a0 ~> m) (t2 :: Arg a a0). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a0 b (t1 :: a0 ~> (b ~> b)) (t2 :: b) (t3 :: Arg a a0). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a0 b (t1 :: a0 ~> (b ~> b)) (t2 :: b) (t3 :: Arg a a0). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a0 (t1 :: b ~> (a0 ~> b)) (t2 :: b) (t3 :: Arg a a0). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a0 (t1 :: b ~> (a0 ~> b)) (t2 :: b) (t3 :: Arg a a0). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a0 (t1 :: a0 ~> (a0 ~> a0)) (t2 :: Arg a a0). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a0 (t1 :: a0 ~> (a0 ~> a0)) (t2 :: Arg a a0). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a0 (t1 :: Arg a a0). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a0 (t1 :: Arg a a0). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a0 (t1 :: Arg a a0). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a0 (t1 :: a0) (t2 :: Arg a a0). SEq a0 => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a0 (t1 :: Arg a a0). SOrd a0 => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a0 (t1 :: Arg a a0). SOrd a0 => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a0 (t1 :: Arg a a0). SNum a0 => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a0 (t1 :: Arg a a0). SNum a0 => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
SFoldable ((,) a) Source # | |
Defined in Data.Foldable.Singletons sFold :: forall m (t1 :: (a, m)). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a0 m (t1 :: a0 ~> m) (t2 :: (a, a0)). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a0 b (t1 :: a0 ~> (b ~> b)) (t2 :: b) (t3 :: (a, a0)). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a0 b (t1 :: a0 ~> (b ~> b)) (t2 :: b) (t3 :: (a, a0)). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a0 (t1 :: b ~> (a0 ~> b)) (t2 :: b) (t3 :: (a, a0)). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a0 (t1 :: b ~> (a0 ~> b)) (t2 :: b) (t3 :: (a, a0)). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a0 (t1 :: a0 ~> (a0 ~> a0)) (t2 :: (a, a0)). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a0 (t1 :: a0 ~> (a0 ~> a0)) (t2 :: (a, a0)). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a0 (t1 :: (a, a0)). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a0 (t1 :: (a, a0)). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a0 (t1 :: (a, a0)). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a0 (t1 :: a0) (t2 :: (a, a0)). SEq a0 => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a0 (t1 :: (a, a0)). SOrd a0 => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a0 (t1 :: (a, a0)). SOrd a0 => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a0 (t1 :: (a, a0)). SNum a0 => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a0 (t1 :: (a, a0)). SNum a0 => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
SFoldable (Const m :: Type -> Type) Source # | |
Defined in Data.Functor.Const.Singletons sFold :: forall m0 (t1 :: Const m m0). SMonoid m0 => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m0 (t1 :: a ~> m0) (t2 :: Const m a). SMonoid m0 => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Const m a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Const m a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Const m a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Const m a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Const m a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Const m a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: Const m a). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: Const m a). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: Const m a). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: Const m a). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: Const m a). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: Const m a). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: Const m a). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: Const m a). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
(SFoldable f, SFoldable g) => SFoldable (Product f g) Source # | |
Defined in Data.Functor.Product.Singletons sFold :: forall m (t1 :: Product f g m). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m (t1 :: a ~> m) (t2 :: Product f g a). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Product f g a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Product f g a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Product f g a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Product f g a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Product f g a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Product f g a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: Product f g a). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: Product f g a). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: Product f g a). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: Product f g a). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: Product f g a). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: Product f g a). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: Product f g a). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: Product f g a). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
(SFoldable f, SFoldable g) => SFoldable (Sum f g) Source # | |
Defined in Data.Functor.Sum.Singletons sFold :: forall m (t1 :: Sum f g m). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m (t1 :: a ~> m) (t2 :: Sum f g a). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Sum f g a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Sum f g a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Sum f g a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Sum f g a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Sum f g a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Sum f g a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: Sum f g a). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: Sum f g a). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: Sum f g a). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: Sum f g a). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: Sum f g a). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: Sum f g a). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: Sum f g a). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: Sum f g a). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
(SFoldable f, SFoldable g) => SFoldable (Compose f g) Source # | |
Defined in Data.Functor.Compose.Singletons sFold :: forall m (t1 :: Compose f g m). SMonoid m => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m (t1 :: a ~> m) (t2 :: Compose f g a). SMonoid m => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Compose f g a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Compose f g a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Compose f g a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Compose f g a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Compose f g a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Compose f g a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: Compose f g a). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: Compose f g a). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: Compose f g a). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: Compose f g a). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: Compose f g a). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: Compose f g a). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: Compose f g a). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: Compose f g a). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # |
class PSemigroup a Source #
Instances
PSemigroup All Source # | |
PSemigroup Any Source # | |
PSemigroup Void Source # | |
PSemigroup Ordering Source # | |
PSemigroup () Source # | |
PSemigroup Symbol Source # | |
PSemigroup (Identity a) Source # | |
PSemigroup (First a) Source # | |
PSemigroup (Last a) Source # | |
PSemigroup (Down a) Source # | |
PSemigroup (First a) Source # | |
PSemigroup (Last a) Source # | |
PSemigroup (Max a) Source # | |
PSemigroup (Min a) Source # | |
PSemigroup (WrappedMonoid m) Source # | |
PSemigroup (Dual a) Source # | |
PSemigroup (Product a) Source # | |
PSemigroup (Sum a) Source # | |
PSemigroup (NonEmpty a) Source # | |
PSemigroup (Maybe a) Source # | |
PSemigroup [a] Source # | |
PSemigroup (Either a b) Source # | |
PSemigroup (Proxy s) Source # | |
PSemigroup (a ~> b) Source # | |
PSemigroup (a, b) Source # | |
PSemigroup (Const a b) Source # | |
PSemigroup (a, b, c) Source # | |
PSemigroup (a, b, c, d) Source # | |
PSemigroup (a, b, c, d, e) Source # | |
class SSemigroup a where Source #
(%<>) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t :: a) :: Type infixr 6 Source #
sSconcat :: forall (t :: NonEmpty a). Sing t -> Sing (Apply SconcatSym0 t :: a) :: Type Source #
default sSconcat :: forall (t :: NonEmpty a). (Apply SconcatSym0 t :: a) ~ Apply Sconcat_6989586621679166901Sym0 t => Sing t -> Sing (Apply SconcatSym0 t :: a) :: Type Source #
Instances
Instances
PMonoid All Source # | |
PMonoid Any Source # | |
PMonoid Ordering Source # | |
PMonoid () Source # | |
PMonoid Symbol Source # | |
PMonoid (Identity a) Source # | |
PMonoid (First a) Source # | |
PMonoid (Last a) Source # | |
PMonoid (Down a) Source # | |
PMonoid (Max a) Source # | |
PMonoid (Min a) Source # | |
PMonoid (WrappedMonoid m) Source # | |
PMonoid (Dual a) Source # | |
PMonoid (Product a) Source # | |
PMonoid (Sum a) Source # | |
PMonoid (Maybe a) Source # | |
PMonoid [a] Source # | |
PMonoid (Proxy s) Source # | |
PMonoid (a ~> b) Source # | |
PMonoid (a, b) Source # | |
PMonoid (Const a b) Source # | |
PMonoid (a, b, c) Source # | |
PMonoid (a, b, c, d) Source # | |
PMonoid (a, b, c, d, e) Source # | |
class SSemigroup a => SMonoid a where Source #
sMempty :: Sing (MemptySym0 :: a) :: Type Source #
sMappend :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply MappendSym0 t) t :: a) :: Type Source #
default sMappend :: forall (t :: a) (t :: a). (Apply (Apply MappendSym0 t) t :: a) ~ Apply (Apply Mappend_6989586621680031464Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply MappendSym0 t) t :: a) :: Type Source #
sMconcat :: forall (t :: [a]). Sing t -> Sing (Apply MconcatSym0 t :: a) :: Type Source #
default sMconcat :: forall (t :: [a]). (Apply MconcatSym0 t :: a) ~ Apply Mconcat_6989586621680031478Sym0 t => Sing t -> Sing (Apply MconcatSym0 t :: a) :: Type Source #
Instances
SMonoid All Source # | |
SMonoid Any Source # | |
SMonoid Ordering Source # | |
SMonoid () Source # | |
SMonoid Symbol Source # | |
SMonoid a => SMonoid (Identity a) Source # | |
SMonoid (First a) Source # | |
SMonoid (Last a) Source # | |
SMonoid a => SMonoid (Down a) Source # | |
(SOrd a, SBounded a) => SMonoid (Max a) Source # | |
(SOrd a, SBounded a) => SMonoid (Min a) Source # | |
SMonoid m => SMonoid (WrappedMonoid m) Source # | |
SMonoid a => SMonoid (Dual a) Source # | |
SNum a => SMonoid (Product a) Source # | |
SNum a => SMonoid (Sum a) Source # | |
SSemigroup a => SMonoid (Maybe a) Source # | |
SMonoid [a] Source # | |
SMonoid (Proxy s) Source # | |
SMonoid b => SMonoid (a ~> b) Source # | |
(SMonoid a, SMonoid b) => SMonoid (a, b) Source # | |
SMonoid a => SMonoid (Const a b) Source # | |
(SMonoid a, SMonoid b, SMonoid c) => SMonoid (a, b, c) Source # | |
(SMonoid a, SMonoid b, SMonoid c, SMonoid d) => SMonoid (a, b, c, d) Source # | |
(SMonoid a, SMonoid b, SMonoid c, SMonoid d, SMonoid e) => SMonoid (a, b, c, d, e) Source # | |
class PTraversable t Source #
type Traverse (arg :: (~>) a (f b)) (arg :: t a) :: f (t b) Source #
type SequenceA (arg :: t (f a)) :: f (t a) Source #
type MapM (arg :: (~>) a (m b)) (arg :: t a) :: m (t b) Source #
Instances
PTraversable Identity Source # | |
PTraversable First Source # | |
PTraversable Last Source # | |
PTraversable First Source # | |
PTraversable Last Source # | |
PTraversable Max Source # | |
PTraversable Min Source # | |
PTraversable Dual Source # | |
PTraversable Product Source # | |
PTraversable Sum Source # | |
PTraversable NonEmpty Source # | |
PTraversable Maybe Source # | |
PTraversable List Source # | |
PTraversable (Either a) Source # | |
PTraversable (Proxy :: Type -> Type) Source # | |
PTraversable (Arg a) Source # | |
PTraversable ((,) a) Source # | |
PTraversable (Const m :: Type -> Type) Source # | |
PTraversable (Product f g) Source # | |
PTraversable (Sum f g) Source # | |
PTraversable (Compose f g) Source # | |
class (SFunctor t, SFoldable t) => STraversable t where Source #
Nothing
sTraverse :: forall (t :: (~>) a (f b)) (t :: t a). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply TraverseSym0 t) t :: f (t b)) :: Type Source #
default sTraverse :: forall (t :: (~>) a (f b)) (t :: t a). ((Apply (Apply TraverseSym0 t) t :: f (t b)) ~ Apply (Apply Traverse_6989586621680379960Sym0 t) t, SApplicative f) => Sing t -> Sing t -> Sing (Apply (Apply TraverseSym0 t) t :: f (t b)) :: Type Source #
sSequenceA :: forall (t :: t (f a)). SApplicative f => Sing t -> Sing (Apply SequenceASym0 t :: f (t a)) :: Type Source #
default sSequenceA :: forall (t :: t (f a)). ((Apply SequenceASym0 t :: f (t a)) ~ Apply SequenceA_6989586621680379972Sym0 t, SApplicative f) => Sing t -> Sing (Apply SequenceASym0 t :: f (t a)) :: Type Source #
sMapM :: forall (t :: (~>) a (m b)) (t :: t a). SMonad m => Sing t -> Sing t -> Sing (Apply (Apply MapMSym0 t) t :: m (t b)) :: Type Source #
default sMapM :: forall (t :: (~>) a (m b)) (t :: t a). ((Apply (Apply MapMSym0 t) t :: m (t b)) ~ Apply (Apply MapM_6989586621680379982Sym0 t) t, SMonad m) => Sing t -> Sing t -> Sing (Apply (Apply MapMSym0 t) t :: m (t b)) :: Type Source #
sSequence :: forall (t :: t (m a)). SMonad m => Sing t -> Sing (Apply SequenceSym0 t :: m (t a)) :: Type Source #
Instances
STraversable Identity Source # | |
Defined in Data.Traversable.Singletons sTraverse :: forall a (f :: Type -> Type) b (t1 :: a ~> f b) (t2 :: Identity a). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a (t1 :: Identity (f a)). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m :: Type -> Type) b (t1 :: a ~> m b) (t2 :: Identity a). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a (t1 :: Identity (m a)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
STraversable First Source # | |
Defined in Data.Traversable.Singletons sTraverse :: forall a (f :: Type -> Type) b (t1 :: a ~> f b) (t2 :: First a). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a (t1 :: First (f a)). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m :: Type -> Type) b (t1 :: a ~> m b) (t2 :: First a). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a (t1 :: First (m a)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
STraversable Last Source # | |
Defined in Data.Traversable.Singletons sTraverse :: forall a (f :: Type -> Type) b (t1 :: a ~> f b) (t2 :: Last a). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a (t1 :: Last (f a)). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m :: Type -> Type) b (t1 :: a ~> m b) (t2 :: Last a). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a (t1 :: Last (m a)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
STraversable First Source # | |
Defined in Data.Semigroup.Singletons sTraverse :: forall a (f :: Type -> Type) b (t1 :: a ~> f b) (t2 :: First a). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a (t1 :: First (f a)). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m :: Type -> Type) b (t1 :: a ~> m b) (t2 :: First a). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a (t1 :: First (m a)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
STraversable Last Source # | |
Defined in Data.Semigroup.Singletons sTraverse :: forall a (f :: Type -> Type) b (t1 :: a ~> f b) (t2 :: Last a). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a (t1 :: Last (f a)). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m :: Type -> Type) b (t1 :: a ~> m b) (t2 :: Last a). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a (t1 :: Last (m a)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
STraversable Max Source # | |
Defined in Data.Semigroup.Singletons sTraverse :: forall a (f :: Type -> Type) b (t1 :: a ~> f b) (t2 :: Max a). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a (t1 :: Max (f a)). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m :: Type -> Type) b (t1 :: a ~> m b) (t2 :: Max a). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a (t1 :: Max (m a)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
STraversable Min Source # | |
Defined in Data.Semigroup.Singletons sTraverse :: forall a (f :: Type -> Type) b (t1 :: a ~> f b) (t2 :: Min a). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a (t1 :: Min (f a)). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m :: Type -> Type) b (t1 :: a ~> m b) (t2 :: Min a). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a (t1 :: Min (m a)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
STraversable Dual Source # | |
Defined in Data.Traversable.Singletons sTraverse :: forall a (f :: Type -> Type) b (t1 :: a ~> f b) (t2 :: Dual a). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a (t1 :: Dual (f a)). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m :: Type -> Type) b (t1 :: a ~> m b) (t2 :: Dual a). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a (t1 :: Dual (m a)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
STraversable Product Source # | |
Defined in Data.Traversable.Singletons sTraverse :: forall a (f :: Type -> Type) b (t1 :: a ~> f b) (t2 :: Product a). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a (t1 :: Product (f a)). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m :: Type -> Type) b (t1 :: a ~> m b) (t2 :: Product a). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a (t1 :: Product (m a)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
STraversable Sum Source # | |
Defined in Data.Traversable.Singletons sTraverse :: forall a (f :: Type -> Type) b (t1 :: a ~> f b) (t2 :: Sum a). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a (t1 :: Sum (f a)). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m :: Type -> Type) b (t1 :: a ~> m b) (t2 :: Sum a). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a (t1 :: Sum (m a)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
STraversable NonEmpty Source # | |
Defined in Data.Traversable.Singletons sTraverse :: forall a (f :: Type -> Type) b (t1 :: a ~> f b) (t2 :: NonEmpty a). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a (t1 :: NonEmpty (f a)). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m :: Type -> Type) b (t1 :: a ~> m b) (t2 :: NonEmpty a). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a (t1 :: NonEmpty (m a)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
STraversable Maybe Source # | |
Defined in Data.Traversable.Singletons sTraverse :: forall a (f :: Type -> Type) b (t1 :: a ~> f b) (t2 :: Maybe a). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a (t1 :: Maybe (f a)). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m :: Type -> Type) b (t1 :: a ~> m b) (t2 :: Maybe a). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a (t1 :: Maybe (m a)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
STraversable List Source # | |
Defined in Data.Traversable.Singletons sTraverse :: forall a (f :: Type -> Type) b (t1 :: a ~> f b) (t2 :: [a]). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a (t1 :: [f a]). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m :: Type -> Type) b (t1 :: a ~> m b) (t2 :: [a]). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a (t1 :: [m a]). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
STraversable (Either a) Source # | |
Defined in Data.Traversable.Singletons sTraverse :: forall a0 (f :: Type -> Type) b (t1 :: a0 ~> f b) (t2 :: Either a a0). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a0 (t1 :: Either a (f a0)). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a0 (m :: Type -> Type) b (t1 :: a0 ~> m b) (t2 :: Either a a0). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a0 (t1 :: Either a (m a0)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
STraversable (Proxy :: Type -> Type) Source # | |
Defined in Data.Traversable.Singletons sTraverse :: forall a (f :: Type -> Type) b (t1 :: a ~> f b) (t2 :: Proxy a). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a (t1 :: Proxy (f a)). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m :: Type -> Type) b (t1 :: a ~> m b) (t2 :: Proxy a). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a (t1 :: Proxy (m a)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
STraversable (Arg a) Source # | |
Defined in Data.Semigroup.Singletons sTraverse :: forall a0 (f :: Type -> Type) b (t1 :: a0 ~> f b) (t2 :: Arg a a0). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a0 (t1 :: Arg a (f a0)). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a0 (m :: Type -> Type) b (t1 :: a0 ~> m b) (t2 :: Arg a a0). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a0 (t1 :: Arg a (m a0)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
STraversable ((,) a) Source # | |
Defined in Data.Traversable.Singletons sTraverse :: forall a0 (f :: Type -> Type) b (t1 :: a0 ~> f b) (t2 :: (a, a0)). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a0 (t1 :: (a, f a0)). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a0 (m :: Type -> Type) b (t1 :: a0 ~> m b) (t2 :: (a, a0)). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a0 (t1 :: (a, m a0)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
STraversable (Const m :: Type -> Type) Source # | |
Defined in Data.Traversable.Singletons sTraverse :: forall a (f :: Type -> Type) b (t1 :: a ~> f b) (t2 :: Const m a). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a (t1 :: Const m (f a)). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m0 :: Type -> Type) b (t1 :: a ~> m0 b) (t2 :: Const m a). SMonad m0 => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m0 :: Type -> Type) a (t1 :: Const m (m0 a)). SMonad m0 => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
(STraversable f, STraversable g) => STraversable (Product f g) Source # | |
Defined in Data.Functor.Product.Singletons sTraverse :: forall a (f0 :: Type -> Type) b (t1 :: a ~> f0 b) (t2 :: Product f g a). SApplicative f0 => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f0 :: Type -> Type) a (t1 :: Product f g (f0 a)). SApplicative f0 => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m :: Type -> Type) b (t1 :: a ~> m b) (t2 :: Product f g a). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a (t1 :: Product f g (m a)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
(STraversable f, STraversable g) => STraversable (Sum f g) Source # | |
Defined in Data.Functor.Sum.Singletons sTraverse :: forall a (f0 :: Type -> Type) b (t1 :: a ~> f0 b) (t2 :: Sum f g a). SApplicative f0 => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f0 :: Type -> Type) a (t1 :: Sum f g (f0 a)). SApplicative f0 => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m :: Type -> Type) b (t1 :: a ~> m b) (t2 :: Sum f g a). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a (t1 :: Sum f g (m a)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
(STraversable f, STraversable g) => STraversable (Compose f g) Source # | |
Defined in Data.Functor.Compose.Singletons sTraverse :: forall a (f0 :: Type -> Type) b (t1 :: a ~> f0 b) (t2 :: Compose f g a). SApplicative f0 => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f0 :: Type -> Type) a (t1 :: Compose f g (f0 a)). SApplicative f0 => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m :: Type -> Type) b (t1 :: a ~> m b) (t2 :: Compose f g a). SMonad m => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m :: Type -> Type) a (t1 :: Compose f g (m a)). SMonad m => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # |
class PApplicative f Source #
type Pure (arg :: a) :: f a Source #
type (arg :: f ((~>) a b)) <*> (arg :: f a) :: f b infixl 4 Source #
type LiftA2 (arg :: (~>) a ((~>) b c)) (arg :: f a) (arg :: f b) :: f c Source #
Instances
PApplicative Identity Source # | |
PApplicative First Source # | |
PApplicative Last Source # | |
PApplicative Down Source # | |
PApplicative First Source # | |
PApplicative Last Source # | |
PApplicative Max Source # | |
PApplicative Min Source # | |
PApplicative Dual Source # | |
PApplicative Product Source # | |
PApplicative Sum Source # | |
PApplicative NonEmpty Source # | |
PApplicative Maybe Source # | |
PApplicative List Source # | |
PApplicative (Either e) Source # | |
PApplicative (Proxy :: Type -> Type) Source # | |
PApplicative ((,) a) Source # | |
PApplicative (Const m :: Type -> Type) Source # | |
PApplicative (Product f g) Source # | |
PApplicative (Compose f g) Source # | |
class SFunctor f => SApplicative f where Source #
sPure :: forall (t :: a). Sing t -> Sing (Apply PureSym0 t :: f a) :: Type Source #
(%<*>) :: forall (t :: f ((~>) a b)) (t :: f a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t :: f b) :: Type infixl 4 Source #
default (%<*>) :: forall (t :: f ((~>) a b)) (t :: f a). (Apply (Apply (<*>@#@$) t) t :: f b) ~ Apply (Apply TFHelper_6989586621679276590Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t :: f b) :: Type Source #
sLiftA2 :: forall (t :: (~>) a ((~>) b c)) (t :: f a) (t :: f b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t :: f c) :: Type Source #
default sLiftA2 :: forall (t :: (~>) a ((~>) b c)) (t :: f a) (t :: f b). (Apply (Apply (Apply LiftA2Sym0 t) t) t :: f c) ~ Apply (Apply (Apply LiftA2_6989586621679276606Sym0 t) t) t => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t :: f c) :: Type Source #
(%*>) :: forall (t :: f a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t :: f b) :: Type infixl 4 Source #
default (%*>) :: forall (t :: f a) (t :: f b). (Apply (Apply (*>@#@$) t) t :: f b) ~ Apply (Apply TFHelper_6989586621679276622Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t :: f b) :: Type Source #
(%<*) :: forall (t :: f a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t :: f a) :: Type infixl 4 Source #
Instances
SApplicative Identity Source # | |
Defined in Data.Functor.Identity.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Identity (a ~> b)) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Identity a) (t3 :: Identity b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Identity a) (t2 :: Identity b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Identity a) (t2 :: Identity b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative First Source # | |
Defined in Data.Monoid.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: First (a ~> b)) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: First a) (t3 :: First b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: First a) (t2 :: First b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: First a) (t2 :: First b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative Last Source # | |
Defined in Data.Monoid.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Last (a ~> b)) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Last a) (t3 :: Last b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Last a) (t2 :: Last b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Last a) (t2 :: Last b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative Down Source # | |
Defined in Control.Applicative.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Down (a ~> b)) (t2 :: Down a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Down a) (t3 :: Down b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Down a) (t2 :: Down b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Down a) (t2 :: Down b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative First Source # | |
Defined in Data.Semigroup.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: First (a ~> b)) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: First a) (t3 :: First b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: First a) (t2 :: First b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: First a) (t2 :: First b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative Last Source # | |
Defined in Data.Semigroup.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Last (a ~> b)) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Last a) (t3 :: Last b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Last a) (t2 :: Last b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Last a) (t2 :: Last b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative Max Source # | |
Defined in Data.Semigroup.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Max (a ~> b)) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Max a) (t3 :: Max b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Max a) (t2 :: Max b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Max a) (t2 :: Max b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative Min Source # | |
Defined in Data.Semigroup.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Min (a ~> b)) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Min a) (t3 :: Min b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Min a) (t2 :: Min b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Min a) (t2 :: Min b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative Dual Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Dual (a ~> b)) (t2 :: Dual a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Dual a) (t3 :: Dual b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Dual a) (t2 :: Dual b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Dual a) (t2 :: Dual b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative Product Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Product (a ~> b)) (t2 :: Product a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Product a) (t3 :: Product b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Product a) (t2 :: Product b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Product a) (t2 :: Product b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative Sum Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Sum (a ~> b)) (t2 :: Sum a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Sum a) (t3 :: Sum b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Sum a) (t2 :: Sum b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Sum a) (t2 :: Sum b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative NonEmpty Source # | |
Defined in Control.Monad.Singletons.Internal sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: NonEmpty (a ~> b)) (t2 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: NonEmpty a) (t3 :: NonEmpty b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: NonEmpty a) (t2 :: NonEmpty b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: NonEmpty a) (t2 :: NonEmpty b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative Maybe Source # | |
Defined in Control.Monad.Singletons.Internal sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Maybe (a ~> b)) (t2 :: Maybe a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Maybe a) (t3 :: Maybe b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Maybe a) (t2 :: Maybe b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Maybe a) (t2 :: Maybe b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative List Source # | |
Defined in Control.Monad.Singletons.Internal sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: [a ~> b]) (t2 :: [a]). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: [a]) (t3 :: [b]). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: [a]) (t2 :: [b]). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: [a]) (t2 :: [b]). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative (Either e) Source # | |
Defined in Control.Monad.Singletons.Internal sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Either e (a ~> b)) (t2 :: Either e a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Either e a) (t3 :: Either e b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Either e a) (t2 :: Either e b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Either e a) (t2 :: Either e b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative (Proxy :: Type -> Type) Source # | |
Defined in Data.Proxy.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Proxy (a ~> b)) (t2 :: Proxy a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Proxy a) (t3 :: Proxy b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Proxy a) (t2 :: Proxy b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Proxy a) (t2 :: Proxy b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SMonoid a => SApplicative ((,) a) Source # | |
Defined in Control.Applicative.Singletons sPure :: forall a0 (t :: a0). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a0 b (t1 :: (a, a0 ~> b)) (t2 :: (a, a0)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a0 b c (t1 :: a0 ~> (b ~> c)) (t2 :: (a, a0)) (t3 :: (a, b)). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a0 b (t1 :: (a, a0)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a0 b (t1 :: (a, a0)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SMonoid m => SApplicative (Const m :: Type -> Type) Source # | |
Defined in Data.Functor.Const.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Const m (a ~> b)) (t2 :: Const m a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Const m a) (t3 :: Const m b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Const m a) (t2 :: Const m b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Const m a) (t2 :: Const m b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
(SApplicative f, SApplicative g) => SApplicative (Product f g) Source # | |
Defined in Data.Functor.Product.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Product f g (a ~> b)) (t2 :: Product f g a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Product f g a) (t3 :: Product f g b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Product f g a) (t2 :: Product f g b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Product f g a) (t2 :: Product f g b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
(SApplicative f, SApplicative g) => SApplicative (Compose f g) Source # | |
Defined in Data.Functor.Compose.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Compose f g (a ~> b)) (t2 :: Compose f g a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Compose f g a) (t3 :: Compose f g b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Compose f g a) (t2 :: Compose f g b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Compose f g a) (t2 :: Compose f g b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # |
(%.) :: forall (t :: (~>) b c) (t :: (~>) a b) (t :: a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (.@#@$) t) t) t :: c) :: Type infixr 9 Source #
type family Error (str :: Symbol) :: a where ... Source #
A promoted version of error
. This implements Error
as a stuck type
family with a Symbol
argument. Depending on your needs, you might also
consider the following alternatives:
- Data.Singletons.Base.PolyError provides
PolyError
, which generalizes the argument to be kind-polymorphic. This allows passing additional information to the error besides rawSymbol
s. - Data.Singletons.Base.TypeError provides
TypeError
, a slightly modified version of the custom type error machinery found in GHC.TypeLits. This allows emitting error messages as compiler errors rather than as stuck type families.
data ErrorSym0 :: (~>) Symbol a Source #
Instances
SingI (ErrorSym0 :: TyFun Symbol a -> Type) Source # | |
Defined in GHC.TypeLits.Singletons.Internal | |
SuppressUnusedWarnings (ErrorSym0 :: TyFun Symbol a -> Type) Source # | |
Defined in GHC.TypeLits.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (ErrorSym0 :: TyFun Symbol k2 -> Type) (a6989586621679450964 :: Symbol) Source # | |
sUndefined :: HasCallStack => a Source #
The singleton for undefined
.
type family UndefinedSym0 :: a where ... Source #
data (==@#@$) :: (~>) a ((~>) a Bool) infix 4 Source #
Instances
SEq a => SingI ((==@#@$) :: TyFun a (a ~> Bool) -> Type) Source # | |
Defined in Data.Eq.Singletons | |
SuppressUnusedWarnings ((==@#@$) :: TyFun a (a ~> Bool) -> Type) Source # | |
Defined in Data.Eq.Singletons suppressUnusedWarnings :: () # | |
type Apply ((==@#@$) :: TyFun a (a ~> Bool) -> Type) (a6989586621679109583 :: a) Source # | |
data (==@#@$$) (a6989586621679109583 :: a) :: (~>) a Bool infix 4 Source #
Instances
SEq a => SingI1 ((==@#@$$) :: a -> TyFun a Bool -> Type) Source # | |
(SEq a, SingI d) => SingI ((==@#@$$) d :: TyFun a Bool -> Type) Source # | |
Defined in Data.Eq.Singletons | |
SuppressUnusedWarnings ((==@#@$$) a6989586621679109583 :: TyFun a Bool -> Type) Source # | |
Defined in Data.Eq.Singletons suppressUnusedWarnings :: () # | |
type Apply ((==@#@$$) a6989586621679109583 :: TyFun a Bool -> Type) (a6989586621679109584 :: a) Source # | |
Defined in Data.Eq.Singletons |
type family (a6989586621679109583 :: a) ==@#@$$$ (a6989586621679109584 :: a) :: Bool where ... infix 4 Source #
data (>@#@$) :: (~>) a ((~>) a Bool) infix 4 Source #
Instances
SOrd a => SingI ((>@#@$) :: TyFun a (a ~> Bool) -> Type) Source # | |
Defined in Data.Ord.Singletons | |
SuppressUnusedWarnings ((>@#@$) :: TyFun a (a ~> Bool) -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply ((>@#@$) :: TyFun a (a ~> Bool) -> Type) (a6989586621679190384 :: a) Source # | |
data (>@#@$$) (a6989586621679190384 :: a) :: (~>) a Bool infix 4 Source #
Instances
SOrd a => SingI1 ((>@#@$$) :: a -> TyFun a Bool -> Type) Source # | |
(SOrd a, SingI d) => SingI ((>@#@$$) d :: TyFun a Bool -> Type) Source # | |
Defined in Data.Ord.Singletons | |
SuppressUnusedWarnings ((>@#@$$) a6989586621679190384 :: TyFun a Bool -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply ((>@#@$$) a6989586621679190384 :: TyFun a Bool -> Type) (a6989586621679190385 :: a) Source # | |
Defined in Data.Ord.Singletons |
type family (a6989586621679190384 :: a) >@#@$$$ (a6989586621679190385 :: a) :: Bool where ... infix 4 Source #
data IfSym0 :: (~>) Bool ((~>) k ((~>) k k)) Source #
Instances
SingI (IfSym0 :: TyFun Bool (k ~> (k ~> k)) -> Type) Source # | |
Defined in Data.Bool.Singletons | |
SuppressUnusedWarnings (IfSym0 :: TyFun Bool (k ~> (k ~> k)) -> Type) Source # | |
Defined in Data.Bool.Singletons suppressUnusedWarnings :: () # | |
type Apply (IfSym0 :: TyFun Bool (k ~> (k ~> k)) -> Type) (a6989586621679106255 :: Bool) Source # | |
data IfSym1 (a6989586621679106255 :: Bool) :: (~>) k ((~>) k k) Source #
Instances
SingI1 (IfSym1 :: Bool -> TyFun k (k ~> k) -> Type) Source # | |
SingI c => SingI (IfSym1 c :: TyFun k (k ~> k) -> Type) Source # | |
Defined in Data.Bool.Singletons | |
SuppressUnusedWarnings (IfSym1 a6989586621679106255 :: TyFun k (k ~> k) -> Type) Source # | |
Defined in Data.Bool.Singletons suppressUnusedWarnings :: () # | |
type Apply (IfSym1 a6989586621679106255 :: TyFun k (k ~> k) -> Type) (a6989586621679106256 :: k) Source # | |
data IfSym2 (a6989586621679106255 :: Bool) (a6989586621679106256 :: k) :: (~>) k k Source #
Instances
SingI2 (IfSym2 :: Bool -> k2 -> TyFun k2 k2 -> Type) Source # | |
SingI c => SingI1 (IfSym2 c :: k1 -> TyFun k1 k1 -> Type) Source # | |
(SingI c, SingI t) => SingI (IfSym2 c t :: TyFun k k -> Type) Source # | |
Defined in Data.Bool.Singletons | |
SuppressUnusedWarnings (IfSym2 a6989586621679106255 a6989586621679106256 :: TyFun k k -> Type) Source # | |
Defined in Data.Bool.Singletons suppressUnusedWarnings :: () # | |
type Apply (IfSym2 a6989586621679106255 a6989586621679106256 :: TyFun k k -> Type) (a6989586621679106257 :: k) Source # | |
Defined in Data.Bool.Singletons |
type family IfSym3 (a6989586621679106255 :: Bool) (a6989586621679106256 :: k) (a6989586621679106257 :: k) :: k where ... Source #
data (&&@#@$) :: (~>) Bool ((~>) Bool Bool) infixr 3 Source #
Instances
SingI (&&@#@$) Source # | |
Defined in Data.Bool.Singletons | |
SuppressUnusedWarnings (&&@#@$) Source # | |
Defined in Data.Bool.Singletons suppressUnusedWarnings :: () # | |
type Apply (&&@#@$) (a6989586621679105336 :: Bool) Source # | |
Defined in Data.Bool.Singletons |
data (&&@#@$$) (a6989586621679105336 :: Bool) :: (~>) Bool Bool infixr 3 Source #
Instances
SingI x => SingI ((&&@#@$$) x :: TyFun Bool Bool -> Type) Source # | |
Defined in Data.Bool.Singletons | |
SuppressUnusedWarnings ((&&@#@$$) a6989586621679105336 :: TyFun Bool Bool -> Type) Source # | |
Defined in Data.Bool.Singletons suppressUnusedWarnings :: () # | |
type Apply ((&&@#@$$) a6989586621679105336 :: TyFun Bool Bool -> Type) (a6989586621679105337 :: Bool) Source # | |
Defined in Data.Bool.Singletons |
type family (a6989586621679105336 :: Bool) &&@#@$$$ (a6989586621679105337 :: Bool) :: Bool where ... infixr 3 Source #
type family Tuple0Sym0 :: () where ... Source #
Tuple0Sym0 = '() |
data Tuple2Sym0 :: (~>) a ((~>) b (a :: Type, b :: Type)) Source #
Instances
SingI (Tuple2Sym0 :: TyFun a (b ~> (a, b)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing Tuple2Sym0 # | |
SuppressUnusedWarnings (Tuple2Sym0 :: TyFun a (b ~> (a, b)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple2Sym0 :: TyFun a (b ~> (a, b)) -> Type) (a6989586621679038044 :: a) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple2Sym0 :: TyFun a (b ~> (a, b)) -> Type) (a6989586621679038044 :: a) = Tuple2Sym1 a6989586621679038044 :: TyFun b (a, b) -> Type |
data Tuple2Sym1 (a6989586621679038044 :: a) :: (~>) b (a :: Type, b :: Type) Source #
Instances
SingI1 (Tuple2Sym1 :: a -> TyFun b (a, b) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple2Sym1 x) # | |
SingI d => SingI (Tuple2Sym1 d :: TyFun b (a, b) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple2Sym1 d) # | |
SuppressUnusedWarnings (Tuple2Sym1 a6989586621679038044 :: TyFun b (a, b) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple2Sym1 a6989586621679038044 :: TyFun k2 (k1, k2) -> Type) (a6989586621679038045 :: k2) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple2Sym1 a6989586621679038044 :: TyFun k2 (k1, k2) -> Type) (a6989586621679038045 :: k2) = '(a6989586621679038044, a6989586621679038045) |
type family Tuple2Sym2 (a6989586621679038044 :: a) (a6989586621679038045 :: b) :: (a :: Type, b :: Type) where ... Source #
Tuple2Sym2 a6989586621679038044 a6989586621679038045 = '(a6989586621679038044, a6989586621679038045) |
data Tuple3Sym0 :: (~>) a ((~>) b ((~>) c (a :: Type, b :: Type, c :: Type))) Source #
Instances
SingI (Tuple3Sym0 :: TyFun a (b ~> (c ~> (a, b, c))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing Tuple3Sym0 # | |
SuppressUnusedWarnings (Tuple3Sym0 :: TyFun a (b ~> (c ~> (a, b, c))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple3Sym0 :: TyFun a (b ~> (c ~> (a, b, c))) -> Type) (a6989586621679038075 :: a) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple3Sym0 :: TyFun a (b ~> (c ~> (a, b, c))) -> Type) (a6989586621679038075 :: a) = Tuple3Sym1 a6989586621679038075 :: TyFun b (c ~> (a, b, c)) -> Type |
data Tuple3Sym1 (a6989586621679038075 :: a) :: (~>) b ((~>) c (a :: Type, b :: Type, c :: Type)) Source #
Instances
SingI1 (Tuple3Sym1 :: a -> TyFun b (c ~> (a, b, c)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple3Sym1 x) # | |
SingI d => SingI (Tuple3Sym1 d :: TyFun b (c ~> (a, b, c)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple3Sym1 d) # | |
SuppressUnusedWarnings (Tuple3Sym1 a6989586621679038075 :: TyFun b (c ~> (a, b, c)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple3Sym1 a6989586621679038075 :: TyFun b (c ~> (a, b, c)) -> Type) (a6989586621679038076 :: b) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple3Sym1 a6989586621679038075 :: TyFun b (c ~> (a, b, c)) -> Type) (a6989586621679038076 :: b) = Tuple3Sym2 a6989586621679038075 a6989586621679038076 :: TyFun c (a, b, c) -> Type |
data Tuple3Sym2 (a6989586621679038075 :: a) (a6989586621679038076 :: b) :: (~>) c (a :: Type, b :: Type, c :: Type) Source #
Instances
SingI2 (Tuple3Sym2 :: a -> b -> TyFun c (a, b, c) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
SingI d => SingI1 (Tuple3Sym2 d :: b -> TyFun c (a, b, c) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple3Sym2 d x) # | |
(SingI d1, SingI d2) => SingI (Tuple3Sym2 d1 d2 :: TyFun c (a, b, c) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple3Sym2 d1 d2) # | |
SuppressUnusedWarnings (Tuple3Sym2 a6989586621679038075 a6989586621679038076 :: TyFun c (a, b, c) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple3Sym2 a6989586621679038075 a6989586621679038076 :: TyFun k3 (k1, k2, k3) -> Type) (a6989586621679038077 :: k3) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple3Sym2 a6989586621679038075 a6989586621679038076 :: TyFun k3 (k1, k2, k3) -> Type) (a6989586621679038077 :: k3) = '(a6989586621679038075, a6989586621679038076, a6989586621679038077) |
type family Tuple3Sym3 (a6989586621679038075 :: a) (a6989586621679038076 :: b) (a6989586621679038077 :: c) :: (a :: Type, b :: Type, c :: Type) where ... Source #
Tuple3Sym3 a6989586621679038075 a6989586621679038076 a6989586621679038077 = '(a6989586621679038075, a6989586621679038076, a6989586621679038077) |
data Tuple4Sym0 :: (~>) a ((~>) b ((~>) c ((~>) d (a :: Type, b :: Type, c :: Type, d :: Type)))) Source #
Instances
SingI (Tuple4Sym0 :: TyFun a (b ~> (c ~> (d ~> (a, b, c, d)))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing Tuple4Sym0 # | |
SuppressUnusedWarnings (Tuple4Sym0 :: TyFun a (b ~> (c ~> (d ~> (a, b, c, d)))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple4Sym0 :: TyFun a (b ~> (c ~> (d ~> (a, b, c, d)))) -> Type) (a6989586621679038124 :: a) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple4Sym0 :: TyFun a (b ~> (c ~> (d ~> (a, b, c, d)))) -> Type) (a6989586621679038124 :: a) = Tuple4Sym1 a6989586621679038124 :: TyFun b (c ~> (d ~> (a, b, c, d))) -> Type |
data Tuple4Sym1 (a6989586621679038124 :: a) :: (~>) b ((~>) c ((~>) d (a :: Type, b :: Type, c :: Type, d :: Type))) Source #
Instances
SingI1 (Tuple4Sym1 :: a -> TyFun b (c ~> (d ~> (a, b, c, d))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple4Sym1 x) # | |
SingI d1 => SingI (Tuple4Sym1 d1 :: TyFun b (c ~> (d2 ~> (a, b, c, d2))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple4Sym1 d1) # | |
SuppressUnusedWarnings (Tuple4Sym1 a6989586621679038124 :: TyFun b (c ~> (d ~> (a, b, c, d))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple4Sym1 a6989586621679038124 :: TyFun b (c ~> (d ~> (a, b, c, d))) -> Type) (a6989586621679038125 :: b) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple4Sym1 a6989586621679038124 :: TyFun b (c ~> (d ~> (a, b, c, d))) -> Type) (a6989586621679038125 :: b) = Tuple4Sym2 a6989586621679038124 a6989586621679038125 :: TyFun c (d ~> (a, b, c, d)) -> Type |
data Tuple4Sym2 (a6989586621679038124 :: a) (a6989586621679038125 :: b) :: (~>) c ((~>) d (a :: Type, b :: Type, c :: Type, d :: Type)) Source #
Instances
SingI2 (Tuple4Sym2 :: a -> b -> TyFun c (d ~> (a, b, c, d)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
SingI d1 => SingI1 (Tuple4Sym2 d1 :: b -> TyFun c (d2 ~> (a, b, c, d2)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple4Sym2 d1 x) # | |
(SingI d1, SingI d2) => SingI (Tuple4Sym2 d1 d2 :: TyFun c (d3 ~> (a, b, c, d3)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple4Sym2 d1 d2) # | |
SuppressUnusedWarnings (Tuple4Sym2 a6989586621679038124 a6989586621679038125 :: TyFun c (d ~> (a, b, c, d)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple4Sym2 a6989586621679038124 a6989586621679038125 :: TyFun c (d ~> (a, b, c, d)) -> Type) (a6989586621679038126 :: c) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple4Sym2 a6989586621679038124 a6989586621679038125 :: TyFun c (d ~> (a, b, c, d)) -> Type) (a6989586621679038126 :: c) = Tuple4Sym3 a6989586621679038124 a6989586621679038125 a6989586621679038126 :: TyFun d (a, b, c, d) -> Type |
data Tuple4Sym3 (a6989586621679038124 :: a) (a6989586621679038125 :: b) (a6989586621679038126 :: c) :: (~>) d (a :: Type, b :: Type, c :: Type, d :: Type) Source #
Instances
SingI d1 => SingI2 (Tuple4Sym3 d1 :: b -> c -> TyFun d2 (a, b, c, d2) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
(SingI d1, SingI d2) => SingI1 (Tuple4Sym3 d1 d2 :: c -> TyFun d3 (a, b, c, d3) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple4Sym3 d1 d2 x) # | |
(SingI d1, SingI d2, SingI d3) => SingI (Tuple4Sym3 d1 d2 d3 :: TyFun d4 (a, b, c, d4) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple4Sym3 d1 d2 d3) # | |
SuppressUnusedWarnings (Tuple4Sym3 a6989586621679038124 a6989586621679038125 a6989586621679038126 :: TyFun d (a, b, c, d) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple4Sym3 a6989586621679038124 a6989586621679038125 a6989586621679038126 :: TyFun k4 (k1, k2, k3, k4) -> Type) (a6989586621679038127 :: k4) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple4Sym3 a6989586621679038124 a6989586621679038125 a6989586621679038126 :: TyFun k4 (k1, k2, k3, k4) -> Type) (a6989586621679038127 :: k4) = '(a6989586621679038124, a6989586621679038125, a6989586621679038126, a6989586621679038127) |
type family Tuple4Sym4 (a6989586621679038124 :: a) (a6989586621679038125 :: b) (a6989586621679038126 :: c) (a6989586621679038127 :: d) :: (a :: Type, b :: Type, c :: Type, d :: Type) where ... Source #
Tuple4Sym4 a6989586621679038124 a6989586621679038125 a6989586621679038126 a6989586621679038127 = '(a6989586621679038124, a6989586621679038125, a6989586621679038126, a6989586621679038127) |
data Tuple5Sym0 :: (~>) a ((~>) b ((~>) c ((~>) d ((~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type))))) Source #
Instances
SingI (Tuple5Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (a, b, c, d, e))))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing Tuple5Sym0 # | |
SuppressUnusedWarnings (Tuple5Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (a, b, c, d, e))))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple5Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (a, b, c, d, e))))) -> Type) (a6989586621679038193 :: a) Source # | |
Defined in Data.Singletons.Base.Instances |
data Tuple5Sym1 (a6989586621679038193 :: a) :: (~>) b ((~>) c ((~>) d ((~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type)))) Source #
Instances
SingI1 (Tuple5Sym1 :: a -> TyFun b (c ~> (d ~> (e ~> (a, b, c, d, e)))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple5Sym1 x) # | |
SingI d1 => SingI (Tuple5Sym1 d1 :: TyFun b (c ~> (d2 ~> (e ~> (a, b, c, d2, e)))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple5Sym1 d1) # | |
SuppressUnusedWarnings (Tuple5Sym1 a6989586621679038193 :: TyFun b (c ~> (d ~> (e ~> (a, b, c, d, e)))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple5Sym1 a6989586621679038193 :: TyFun b (c ~> (d ~> (e ~> (a, b, c, d, e)))) -> Type) (a6989586621679038194 :: b) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple5Sym1 a6989586621679038193 :: TyFun b (c ~> (d ~> (e ~> (a, b, c, d, e)))) -> Type) (a6989586621679038194 :: b) = Tuple5Sym2 a6989586621679038193 a6989586621679038194 :: TyFun c (d ~> (e ~> (a, b, c, d, e))) -> Type |
data Tuple5Sym2 (a6989586621679038193 :: a) (a6989586621679038194 :: b) :: (~>) c ((~>) d ((~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type))) Source #
Instances
SingI2 (Tuple5Sym2 :: a -> b -> TyFun c (d ~> (e ~> (a, b, c, d, e))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
SingI d1 => SingI1 (Tuple5Sym2 d1 :: b -> TyFun c (d2 ~> (e ~> (a, b, c, d2, e))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple5Sym2 d1 x) # | |
(SingI d1, SingI d2) => SingI (Tuple5Sym2 d1 d2 :: TyFun c (d3 ~> (e ~> (a, b, c, d3, e))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple5Sym2 d1 d2) # | |
SuppressUnusedWarnings (Tuple5Sym2 a6989586621679038193 a6989586621679038194 :: TyFun c (d ~> (e ~> (a, b, c, d, e))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple5Sym2 a6989586621679038193 a6989586621679038194 :: TyFun c (d ~> (e ~> (a, b, c, d, e))) -> Type) (a6989586621679038195 :: c) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple5Sym2 a6989586621679038193 a6989586621679038194 :: TyFun c (d ~> (e ~> (a, b, c, d, e))) -> Type) (a6989586621679038195 :: c) = Tuple5Sym3 a6989586621679038193 a6989586621679038194 a6989586621679038195 :: TyFun d (e ~> (a, b, c, d, e)) -> Type |
data Tuple5Sym3 (a6989586621679038193 :: a) (a6989586621679038194 :: b) (a6989586621679038195 :: c) :: (~>) d ((~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type)) Source #
Instances
SingI d1 => SingI2 (Tuple5Sym3 d1 :: b -> c -> TyFun d2 (e ~> (a, b, c, d2, e)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
(SingI d1, SingI d2) => SingI1 (Tuple5Sym3 d1 d2 :: c -> TyFun d3 (e ~> (a, b, c, d3, e)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple5Sym3 d1 d2 x) # | |
(SingI d1, SingI d2, SingI d3) => SingI (Tuple5Sym3 d1 d2 d3 :: TyFun d4 (e ~> (a, b, c, d4, e)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple5Sym3 d1 d2 d3) # | |
SuppressUnusedWarnings (Tuple5Sym3 a6989586621679038193 a6989586621679038194 a6989586621679038195 :: TyFun d (e ~> (a, b, c, d, e)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple5Sym3 a6989586621679038193 a6989586621679038194 a6989586621679038195 :: TyFun d (e ~> (a, b, c, d, e)) -> Type) (a6989586621679038196 :: d) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple5Sym3 a6989586621679038193 a6989586621679038194 a6989586621679038195 :: TyFun d (e ~> (a, b, c, d, e)) -> Type) (a6989586621679038196 :: d) = Tuple5Sym4 a6989586621679038193 a6989586621679038194 a6989586621679038195 a6989586621679038196 :: TyFun e (a, b, c, d, e) -> Type |
data Tuple5Sym4 (a6989586621679038193 :: a) (a6989586621679038194 :: b) (a6989586621679038195 :: c) (a6989586621679038196 :: d) :: (~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type) Source #
Instances
(SingI d1, SingI d2) => SingI2 (Tuple5Sym4 d1 d2 :: c -> d3 -> TyFun e (a, b, c, d3, e) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
(SingI d1, SingI d2, SingI d3) => SingI1 (Tuple5Sym4 d1 d2 d3 :: d4 -> TyFun e (a, b, c, d4, e) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple5Sym4 d1 d2 d3 x) # | |
(SingI d1, SingI d2, SingI d3, SingI d5) => SingI (Tuple5Sym4 d1 d2 d3 d5 :: TyFun e (a, b, c, d4, e) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple5Sym4 d1 d2 d3 d5) # | |
SuppressUnusedWarnings (Tuple5Sym4 a6989586621679038193 a6989586621679038194 a6989586621679038195 a6989586621679038196 :: TyFun e (a, b, c, d, e) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple5Sym4 a6989586621679038193 a6989586621679038194 a6989586621679038195 a6989586621679038196 :: TyFun k5 (k1, k2, k3, k4, k5) -> Type) (a6989586621679038197 :: k5) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple5Sym4 a6989586621679038193 a6989586621679038194 a6989586621679038195 a6989586621679038196 :: TyFun k5 (k1, k2, k3, k4, k5) -> Type) (a6989586621679038197 :: k5) = '(a6989586621679038193, a6989586621679038194, a6989586621679038195, a6989586621679038196, a6989586621679038197) |
type family Tuple5Sym5 (a6989586621679038193 :: a) (a6989586621679038194 :: b) (a6989586621679038195 :: c) (a6989586621679038196 :: d) (a6989586621679038197 :: e) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type) where ... Source #
Tuple5Sym5 a6989586621679038193 a6989586621679038194 a6989586621679038195 a6989586621679038196 a6989586621679038197 = '(a6989586621679038193, a6989586621679038194, a6989586621679038195, a6989586621679038196, a6989586621679038197) |
data Tuple6Sym0 :: (~>) a ((~>) b ((~>) c ((~>) d ((~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type)))))) Source #
Instances
SingI (Tuple6Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (f ~> (a, b, c, d, e, f)))))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing Tuple6Sym0 # | |
SuppressUnusedWarnings (Tuple6Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (f ~> (a, b, c, d, e, f)))))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple6Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (f ~> (a, b, c, d, e, f)))))) -> Type) (a6989586621679038284 :: a) Source # | |
Defined in Data.Singletons.Base.Instances |
data Tuple6Sym1 (a6989586621679038284 :: a) :: (~>) b ((~>) c ((~>) d ((~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type))))) Source #
Instances
SingI1 (Tuple6Sym1 :: a -> TyFun b (c ~> (d ~> (e ~> (f ~> (a, b, c, d, e, f))))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple6Sym1 x) # | |
SingI d1 => SingI (Tuple6Sym1 d1 :: TyFun b (c ~> (d2 ~> (e ~> (f ~> (a, b, c, d2, e, f))))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple6Sym1 d1) # | |
SuppressUnusedWarnings (Tuple6Sym1 a6989586621679038284 :: TyFun b (c ~> (d ~> (e ~> (f ~> (a, b, c, d, e, f))))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple6Sym1 a6989586621679038284 :: TyFun b (c ~> (d ~> (e ~> (f ~> (a, b, c, d, e, f))))) -> Type) (a6989586621679038285 :: b) Source # | |
Defined in Data.Singletons.Base.Instances |
data Tuple6Sym2 (a6989586621679038284 :: a) (a6989586621679038285 :: b) :: (~>) c ((~>) d ((~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type)))) Source #
Instances
SingI2 (Tuple6Sym2 :: a -> b -> TyFun c (d ~> (e ~> (f ~> (a, b, c, d, e, f)))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
SingI d1 => SingI1 (Tuple6Sym2 d1 :: b -> TyFun c (d2 ~> (e ~> (f ~> (a, b, c, d2, e, f)))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple6Sym2 d1 x) # | |
(SingI d1, SingI d2) => SingI (Tuple6Sym2 d1 d2 :: TyFun c (d3 ~> (e ~> (f ~> (a, b, c, d3, e, f)))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple6Sym2 d1 d2) # | |
SuppressUnusedWarnings (Tuple6Sym2 a6989586621679038284 a6989586621679038285 :: TyFun c (d ~> (e ~> (f ~> (a, b, c, d, e, f)))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple6Sym2 a6989586621679038284 a6989586621679038285 :: TyFun c (d ~> (e ~> (f ~> (a, b, c, d, e, f)))) -> Type) (a6989586621679038286 :: c) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple6Sym2 a6989586621679038284 a6989586621679038285 :: TyFun c (d ~> (e ~> (f ~> (a, b, c, d, e, f)))) -> Type) (a6989586621679038286 :: c) = Tuple6Sym3 a6989586621679038284 a6989586621679038285 a6989586621679038286 :: TyFun d (e ~> (f ~> (a, b, c, d, e, f))) -> Type |
data Tuple6Sym3 (a6989586621679038284 :: a) (a6989586621679038285 :: b) (a6989586621679038286 :: c) :: (~>) d ((~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type))) Source #
Instances
SingI d1 => SingI2 (Tuple6Sym3 d1 :: b -> c -> TyFun d2 (e ~> (f ~> (a, b, c, d2, e, f))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
(SingI d1, SingI d2) => SingI1 (Tuple6Sym3 d1 d2 :: c -> TyFun d3 (e ~> (f ~> (a, b, c, d3, e, f))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple6Sym3 d1 d2 x) # | |
(SingI d1, SingI d2, SingI d3) => SingI (Tuple6Sym3 d1 d2 d3 :: TyFun d4 (e ~> (f ~> (a, b, c, d4, e, f))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple6Sym3 d1 d2 d3) # | |
SuppressUnusedWarnings (Tuple6Sym3 a6989586621679038284 a6989586621679038285 a6989586621679038286 :: TyFun d (e ~> (f ~> (a, b, c, d, e, f))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple6Sym3 a6989586621679038284 a6989586621679038285 a6989586621679038286 :: TyFun d (e ~> (f ~> (a, b, c, d, e, f))) -> Type) (a6989586621679038287 :: d) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple6Sym3 a6989586621679038284 a6989586621679038285 a6989586621679038286 :: TyFun d (e ~> (f ~> (a, b, c, d, e, f))) -> Type) (a6989586621679038287 :: d) = Tuple6Sym4 a6989586621679038284 a6989586621679038285 a6989586621679038286 a6989586621679038287 :: TyFun e (f ~> (a, b, c, d, e, f)) -> Type |
data Tuple6Sym4 (a6989586621679038284 :: a) (a6989586621679038285 :: b) (a6989586621679038286 :: c) (a6989586621679038287 :: d) :: (~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type)) Source #
Instances
(SingI d1, SingI d2) => SingI2 (Tuple6Sym4 d1 d2 :: c -> d3 -> TyFun e (f ~> (a, b, c, d3, e, f)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
(SingI d1, SingI d2, SingI d3) => SingI1 (Tuple6Sym4 d1 d2 d3 :: d4 -> TyFun e (f ~> (a, b, c, d4, e, f)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple6Sym4 d1 d2 d3 x) # | |
(SingI d1, SingI d2, SingI d3, SingI d5) => SingI (Tuple6Sym4 d1 d2 d3 d5 :: TyFun e (f ~> (a, b, c, d4, e, f)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple6Sym4 d1 d2 d3 d5) # | |
SuppressUnusedWarnings (Tuple6Sym4 a6989586621679038284 a6989586621679038285 a6989586621679038286 a6989586621679038287 :: TyFun e (f ~> (a, b, c, d, e, f)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple6Sym4 a6989586621679038284 a6989586621679038285 a6989586621679038286 a6989586621679038287 :: TyFun e (f ~> (a, b, c, d, e, f)) -> Type) (a6989586621679038288 :: e) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple6Sym4 a6989586621679038284 a6989586621679038285 a6989586621679038286 a6989586621679038287 :: TyFun e (f ~> (a, b, c, d, e, f)) -> Type) (a6989586621679038288 :: e) = Tuple6Sym5 a6989586621679038284 a6989586621679038285 a6989586621679038286 a6989586621679038287 a6989586621679038288 :: TyFun f (a, b, c, d, e, f) -> Type |
data Tuple6Sym5 (a6989586621679038284 :: a) (a6989586621679038285 :: b) (a6989586621679038286 :: c) (a6989586621679038287 :: d) (a6989586621679038288 :: e) :: (~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type) Source #
Instances
(SingI d1, SingI d2, SingI d3) => SingI2 (Tuple6Sym5 d1 d2 d3 :: d4 -> e -> TyFun f (a, b, c, d4, e, f) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
(SingI d1, SingI d2, SingI d3, SingI d5) => SingI1 (Tuple6Sym5 d1 d2 d3 d5 :: e -> TyFun f (a, b, c, d4, e, f) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple6Sym5 d1 d2 d3 d5 x) # | |
(SingI d1, SingI d2, SingI d3, SingI d5, SingI d6) => SingI (Tuple6Sym5 d1 d2 d3 d5 d6 :: TyFun f (a, b, c, d4, e, f) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple6Sym5 d1 d2 d3 d5 d6) # | |
SuppressUnusedWarnings (Tuple6Sym5 a6989586621679038284 a6989586621679038285 a6989586621679038286 a6989586621679038287 a6989586621679038288 :: TyFun f (a, b, c, d, e, f) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple6Sym5 a6989586621679038284 a6989586621679038285 a6989586621679038286 a6989586621679038287 a6989586621679038288 :: TyFun k6 (k1, k2, k3, k4, k5, k6) -> Type) (a6989586621679038289 :: k6) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple6Sym5 a6989586621679038284 a6989586621679038285 a6989586621679038286 a6989586621679038287 a6989586621679038288 :: TyFun k6 (k1, k2, k3, k4, k5, k6) -> Type) (a6989586621679038289 :: k6) = '(a6989586621679038284, a6989586621679038285, a6989586621679038286, a6989586621679038287, a6989586621679038288, a6989586621679038289) |
type family Tuple6Sym6 (a6989586621679038284 :: a) (a6989586621679038285 :: b) (a6989586621679038286 :: c) (a6989586621679038287 :: d) (a6989586621679038288 :: e) (a6989586621679038289 :: f) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type) where ... Source #
Tuple6Sym6 a6989586621679038284 a6989586621679038285 a6989586621679038286 a6989586621679038287 a6989586621679038288 a6989586621679038289 = '(a6989586621679038284, a6989586621679038285, a6989586621679038286, a6989586621679038287, a6989586621679038288, a6989586621679038289) |
data Tuple7Sym0 :: (~>) a ((~>) b ((~>) c ((~>) d ((~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type))))))) Source #
Instances
SingI (Tuple7Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g))))))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing Tuple7Sym0 # | |
SuppressUnusedWarnings (Tuple7Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g))))))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple7Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g))))))) -> Type) (a6989586621679038399 :: a) Source # | |
data Tuple7Sym1 (a6989586621679038399 :: a) :: (~>) b ((~>) c ((~>) d ((~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type)))))) Source #
Instances
SingI1 (Tuple7Sym1 :: a -> TyFun b (c ~> (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple7Sym1 x) # | |
SingI d1 => SingI (Tuple7Sym1 d1 :: TyFun b (c ~> (d2 ~> (e ~> (f ~> (g ~> (a, b, c, d2, e, f, g)))))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple7Sym1 d1) # | |
SuppressUnusedWarnings (Tuple7Sym1 a6989586621679038399 :: TyFun b (c ~> (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple7Sym1 a6989586621679038399 :: TyFun b (c ~> (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))))) -> Type) (a6989586621679038400 :: b) Source # | |
Defined in Data.Singletons.Base.Instances |
data Tuple7Sym2 (a6989586621679038399 :: a) (a6989586621679038400 :: b) :: (~>) c ((~>) d ((~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type))))) Source #
Instances
SingI2 (Tuple7Sym2 :: a -> b -> TyFun c (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g))))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
SingI d1 => SingI1 (Tuple7Sym2 d1 :: b -> TyFun c (d2 ~> (e ~> (f ~> (g ~> (a, b, c, d2, e, f, g))))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple7Sym2 d1 x) # | |
(SingI d1, SingI d2) => SingI (Tuple7Sym2 d1 d2 :: TyFun c (d3 ~> (e ~> (f ~> (g ~> (a, b, c, d3, e, f, g))))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple7Sym2 d1 d2) # | |
SuppressUnusedWarnings (Tuple7Sym2 a6989586621679038399 a6989586621679038400 :: TyFun c (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g))))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple7Sym2 a6989586621679038399 a6989586621679038400 :: TyFun c (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g))))) -> Type) (a6989586621679038401 :: c) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple7Sym2 a6989586621679038399 a6989586621679038400 :: TyFun c (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g))))) -> Type) (a6989586621679038401 :: c) = Tuple7Sym3 a6989586621679038399 a6989586621679038400 a6989586621679038401 :: TyFun d (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))) -> Type |
data Tuple7Sym3 (a6989586621679038399 :: a) (a6989586621679038400 :: b) (a6989586621679038401 :: c) :: (~>) d ((~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type)))) Source #
Instances
SingI d1 => SingI2 (Tuple7Sym3 d1 :: b -> c -> TyFun d2 (e ~> (f ~> (g ~> (a, b, c, d2, e, f, g)))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
(SingI d1, SingI d2) => SingI1 (Tuple7Sym3 d1 d2 :: c -> TyFun d3 (e ~> (f ~> (g ~> (a, b, c, d3, e, f, g)))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple7Sym3 d1 d2 x) # | |
(SingI d1, SingI d2, SingI d3) => SingI (Tuple7Sym3 d1 d2 d3 :: TyFun d4 (e ~> (f ~> (g ~> (a, b, c, d4, e, f, g)))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple7Sym3 d1 d2 d3) # | |
SuppressUnusedWarnings (Tuple7Sym3 a6989586621679038399 a6989586621679038400 a6989586621679038401 :: TyFun d (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple7Sym3 a6989586621679038399 a6989586621679038400 a6989586621679038401 :: TyFun d (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))) -> Type) (a6989586621679038402 :: d) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple7Sym3 a6989586621679038399 a6989586621679038400 a6989586621679038401 :: TyFun d (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))) -> Type) (a6989586621679038402 :: d) = Tuple7Sym4 a6989586621679038399 a6989586621679038400 a6989586621679038401 a6989586621679038402 :: TyFun e (f ~> (g ~> (a, b, c, d, e, f, g))) -> Type |
data Tuple7Sym4 (a6989586621679038399 :: a) (a6989586621679038400 :: b) (a6989586621679038401 :: c) (a6989586621679038402 :: d) :: (~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type))) Source #
Instances
(SingI d1, SingI d2) => SingI2 (Tuple7Sym4 d1 d2 :: c -> d3 -> TyFun e (f ~> (g ~> (a, b, c, d3, e, f, g))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
(SingI d1, SingI d2, SingI d3) => SingI1 (Tuple7Sym4 d1 d2 d3 :: d4 -> TyFun e (f ~> (g ~> (a, b, c, d4, e, f, g))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple7Sym4 d1 d2 d3 x) # | |
(SingI d1, SingI d2, SingI d3, SingI d5) => SingI (Tuple7Sym4 d1 d2 d3 d5 :: TyFun e (f ~> (g ~> (a, b, c, d4, e, f, g))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple7Sym4 d1 d2 d3 d5) # | |
SuppressUnusedWarnings (Tuple7Sym4 a6989586621679038399 a6989586621679038400 a6989586621679038401 a6989586621679038402 :: TyFun e (f ~> (g ~> (a, b, c, d, e, f, g))) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple7Sym4 a6989586621679038399 a6989586621679038400 a6989586621679038401 a6989586621679038402 :: TyFun e (f ~> (g ~> (a, b, c, d, e, f, g))) -> Type) (a6989586621679038403 :: e) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple7Sym4 a6989586621679038399 a6989586621679038400 a6989586621679038401 a6989586621679038402 :: TyFun e (f ~> (g ~> (a, b, c, d, e, f, g))) -> Type) (a6989586621679038403 :: e) = Tuple7Sym5 a6989586621679038399 a6989586621679038400 a6989586621679038401 a6989586621679038402 a6989586621679038403 :: TyFun f (g ~> (a, b, c, d, e, f, g)) -> Type |
data Tuple7Sym5 (a6989586621679038399 :: a) (a6989586621679038400 :: b) (a6989586621679038401 :: c) (a6989586621679038402 :: d) (a6989586621679038403 :: e) :: (~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type)) Source #
Instances
(SingI d1, SingI d2, SingI d3) => SingI2 (Tuple7Sym5 d1 d2 d3 :: d4 -> e -> TyFun f (g ~> (a, b, c, d4, e, f, g)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
(SingI d1, SingI d2, SingI d3, SingI d5) => SingI1 (Tuple7Sym5 d1 d2 d3 d5 :: e -> TyFun f (g ~> (a, b, c, d4, e, f, g)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple7Sym5 d1 d2 d3 d5 x) # | |
(SingI d1, SingI d2, SingI d3, SingI d5, SingI d6) => SingI (Tuple7Sym5 d1 d2 d3 d5 d6 :: TyFun f (g ~> (a, b, c, d4, e, f, g)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple7Sym5 d1 d2 d3 d5 d6) # | |
SuppressUnusedWarnings (Tuple7Sym5 a6989586621679038399 a6989586621679038400 a6989586621679038401 a6989586621679038402 a6989586621679038403 :: TyFun f (g ~> (a, b, c, d, e, f, g)) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple7Sym5 a6989586621679038399 a6989586621679038400 a6989586621679038401 a6989586621679038402 a6989586621679038403 :: TyFun f (g ~> (a, b, c, d, e, f, g)) -> Type) (a6989586621679038404 :: f) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple7Sym5 a6989586621679038399 a6989586621679038400 a6989586621679038401 a6989586621679038402 a6989586621679038403 :: TyFun f (g ~> (a, b, c, d, e, f, g)) -> Type) (a6989586621679038404 :: f) = Tuple7Sym6 a6989586621679038399 a6989586621679038400 a6989586621679038401 a6989586621679038402 a6989586621679038403 a6989586621679038404 :: TyFun g (a, b, c, d, e, f, g) -> Type |
data Tuple7Sym6 (a6989586621679038399 :: a) (a6989586621679038400 :: b) (a6989586621679038401 :: c) (a6989586621679038402 :: d) (a6989586621679038403 :: e) (a6989586621679038404 :: f) :: (~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type) Source #
Instances
(SingI d1, SingI d2, SingI d3, SingI d5) => SingI2 (Tuple7Sym6 d1 d2 d3 d5 :: e -> f -> TyFun g (a, b, c, d4, e, f, g) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
(SingI d1, SingI d2, SingI d3, SingI d5, SingI d6) => SingI1 (Tuple7Sym6 d1 d2 d3 d5 d6 :: f -> TyFun g (a, b, c, d4, e, f, g) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances liftSing :: forall (x :: k1). Sing x -> Sing (Tuple7Sym6 d1 d2 d3 d5 d6 x) # | |
(SingI d1, SingI d2, SingI d3, SingI d5, SingI d6, SingI d7) => SingI (Tuple7Sym6 d1 d2 d3 d5 d6 d7 :: TyFun g (a, b, c, d4, e, f, g) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing (Tuple7Sym6 d1 d2 d3 d5 d6 d7) # | |
SuppressUnusedWarnings (Tuple7Sym6 a6989586621679038399 a6989586621679038400 a6989586621679038401 a6989586621679038402 a6989586621679038403 a6989586621679038404 :: TyFun g (a, b, c, d, e, f, g) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (Tuple7Sym6 a6989586621679038399 a6989586621679038400 a6989586621679038401 a6989586621679038402 a6989586621679038403 a6989586621679038404 :: TyFun k7 (k1, k2, k3, k4, k5, k6, k7) -> Type) (a6989586621679038405 :: k7) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (Tuple7Sym6 a6989586621679038399 a6989586621679038400 a6989586621679038401 a6989586621679038402 a6989586621679038403 a6989586621679038404 :: TyFun k7 (k1, k2, k3, k4, k5, k6, k7) -> Type) (a6989586621679038405 :: k7) = '(a6989586621679038399, a6989586621679038400, a6989586621679038401, a6989586621679038402, a6989586621679038403, a6989586621679038404, a6989586621679038405) |
type family Tuple7Sym7 (a6989586621679038399 :: a) (a6989586621679038400 :: b) (a6989586621679038401 :: c) (a6989586621679038402 :: d) (a6989586621679038403 :: e) (a6989586621679038404 :: f) (a6989586621679038405 :: g) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type) where ... Source #
Tuple7Sym7 a6989586621679038399 a6989586621679038400 a6989586621679038401 a6989586621679038402 a6989586621679038403 a6989586621679038404 a6989586621679038405 = '(a6989586621679038399, a6989586621679038400, a6989586621679038401, a6989586621679038402, a6989586621679038403, a6989586621679038404, a6989586621679038405) |
data CompareSym0 :: (~>) a ((~>) a Ordering) Source #
Instances
SOrd a => SingI (CompareSym0 :: TyFun a (a ~> Ordering) -> Type) Source # | |
Defined in Data.Ord.Singletons sing :: Sing CompareSym0 # | |
SuppressUnusedWarnings (CompareSym0 :: TyFun a (a ~> Ordering) -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply (CompareSym0 :: TyFun a (a ~> Ordering) -> Type) (a6989586621679190369 :: a) Source # | |
Defined in Data.Ord.Singletons type Apply (CompareSym0 :: TyFun a (a ~> Ordering) -> Type) (a6989586621679190369 :: a) = CompareSym1 a6989586621679190369 |
data CompareSym1 (a6989586621679190369 :: a) :: (~>) a Ordering Source #
Instances
SOrd a => SingI1 (CompareSym1 :: a -> TyFun a Ordering -> Type) Source # | |
Defined in Data.Ord.Singletons liftSing :: forall (x :: k1). Sing x -> Sing (CompareSym1 x) # | |
(SOrd a, SingI d) => SingI (CompareSym1 d :: TyFun a Ordering -> Type) Source # | |
Defined in Data.Ord.Singletons sing :: Sing (CompareSym1 d) # | |
SuppressUnusedWarnings (CompareSym1 a6989586621679190369 :: TyFun a Ordering -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply (CompareSym1 a6989586621679190369 :: TyFun a Ordering -> Type) (a6989586621679190370 :: a) Source # | |
Defined in Data.Ord.Singletons type Apply (CompareSym1 a6989586621679190369 :: TyFun a Ordering -> Type) (a6989586621679190370 :: a) = Compare a6989586621679190369 a6989586621679190370 |
type family CompareSym2 (a6989586621679190369 :: a) (a6989586621679190370 :: a) :: Ordering where ... Source #
CompareSym2 a6989586621679190369 a6989586621679190370 = Compare a6989586621679190369 a6989586621679190370 |
data FoldlSym0 :: (~>) ((~>) b ((~>) a b)) ((~>) b ((~>) (t a) b)) Source #
Instances
SFoldable t => SingI (FoldlSym0 :: TyFun (b ~> (a ~> b)) (b ~> (t a ~> b)) -> Type) Source # | |
Defined in Data.Foldable.Singletons | |
SuppressUnusedWarnings (FoldlSym0 :: TyFun (b ~> (a ~> b)) (b ~> (t a ~> b)) -> Type) Source # | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () # | |
type Apply (FoldlSym0 :: TyFun (b ~> (a ~> b)) (b ~> (t a ~> b)) -> Type) (a6989586621680110573 :: b ~> (a ~> b)) Source # | |
data FoldlSym1 (a6989586621680110573 :: (~>) b ((~>) a b)) :: (~>) b ((~>) (t a) b) Source #
Instances
SFoldable t => SingI1 (FoldlSym1 :: (b ~> (a ~> b)) -> TyFun b (t a ~> b) -> Type) Source # | |
(SFoldable t, SingI d) => SingI (FoldlSym1 d :: TyFun b (t a ~> b) -> Type) Source # | |
Defined in Data.Foldable.Singletons | |
SuppressUnusedWarnings (FoldlSym1 a6989586621680110573 :: TyFun b (t a ~> b) -> Type) Source # | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () # | |
type Apply (FoldlSym1 a6989586621680110573 :: TyFun b (t a ~> b) -> Type) (a6989586621680110574 :: b) Source # | |
data FoldlSym2 (a6989586621680110573 :: (~>) b ((~>) a b)) (a6989586621680110574 :: b) :: (~>) (t a) b Source #
Instances
(SFoldable t, SingI d) => SingI1 (FoldlSym2 d :: b -> TyFun (t a) b -> Type) Source # | |
SFoldable t => SingI2 (FoldlSym2 :: (b ~> (a ~> b)) -> b -> TyFun (t a) b -> Type) Source # | |
(SFoldable t, SingI d1, SingI d2) => SingI (FoldlSym2 d1 d2 :: TyFun (t a) b -> Type) Source # | |
Defined in Data.Foldable.Singletons | |
SuppressUnusedWarnings (FoldlSym2 a6989586621680110573 a6989586621680110574 :: TyFun (t a) b -> Type) Source # | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () # | |
type Apply (FoldlSym2 a6989586621680110573 a6989586621680110574 :: TyFun (t a) b -> Type) (a6989586621680110575 :: t a) Source # | |
Defined in Data.Foldable.Singletons |
type family FoldlSym3 (a6989586621680110573 :: (~>) b ((~>) a b)) (a6989586621680110574 :: b) (a6989586621680110575 :: t a) :: b where ... Source #
type family MinBoundSym0 :: a where ... Source #
type family MaxBoundSym0 :: a where ... Source #
data ShowsPrecSym0 :: (~>) Natural ((~>) a ((~>) Symbol Symbol)) Source #
Instances
SShow a => SingI (ShowsPrecSym0 :: TyFun Natural (a ~> (Symbol ~> Symbol)) -> Type) Source # | |
Defined in Text.Show.Singletons sing :: Sing ShowsPrecSym0 # | |
SuppressUnusedWarnings (ShowsPrecSym0 :: TyFun Natural (a ~> (Symbol ~> Symbol)) -> Type) Source # | |
Defined in Text.Show.Singletons suppressUnusedWarnings :: () # | |
type Apply (ShowsPrecSym0 :: TyFun Natural (a ~> (Symbol ~> Symbol)) -> Type) (a6989586621679965742 :: Natural) Source # | |
Defined in Text.Show.Singletons |
data ShowsPrecSym1 (a6989586621679965742 :: Natural) :: (~>) a ((~>) Symbol Symbol) Source #
Instances
SShow a => SingI1 (ShowsPrecSym1 :: Natural -> TyFun a (Symbol ~> Symbol) -> Type) Source # | |
Defined in Text.Show.Singletons liftSing :: forall (x :: k1). Sing x -> Sing (ShowsPrecSym1 x) # | |
(SShow a, SingI d) => SingI (ShowsPrecSym1 d :: TyFun a (Symbol ~> Symbol) -> Type) Source # | |
Defined in Text.Show.Singletons sing :: Sing (ShowsPrecSym1 d) # | |
SuppressUnusedWarnings (ShowsPrecSym1 a6989586621679965742 :: TyFun a (Symbol ~> Symbol) -> Type) Source # | |
Defined in Text.Show.Singletons suppressUnusedWarnings :: () # | |
type Apply (ShowsPrecSym1 a6989586621679965742 :: TyFun a (Symbol ~> Symbol) -> Type) (a6989586621679965743 :: a) Source # | |
Defined in Text.Show.Singletons type Apply (ShowsPrecSym1 a6989586621679965742 :: TyFun a (Symbol ~> Symbol) -> Type) (a6989586621679965743 :: a) = ShowsPrecSym2 a6989586621679965742 a6989586621679965743 |
data ShowsPrecSym2 (a6989586621679965742 :: Natural) (a6989586621679965743 :: a) :: (~>) Symbol Symbol Source #
Instances
SShow a => SingI2 (ShowsPrecSym2 :: Natural -> a -> TyFun Symbol Symbol -> Type) Source # | |
Defined in Text.Show.Singletons | |
(SShow a, SingI d) => SingI1 (ShowsPrecSym2 d :: a -> TyFun Symbol Symbol -> Type) Source # | |
Defined in Text.Show.Singletons liftSing :: forall (x :: k1). Sing x -> Sing (ShowsPrecSym2 d x) # | |
(SShow a, SingI d1, SingI d2) => SingI (ShowsPrecSym2 d1 d2 :: TyFun Symbol Symbol -> Type) Source # | |
Defined in Text.Show.Singletons sing :: Sing (ShowsPrecSym2 d1 d2) # | |
SuppressUnusedWarnings (ShowsPrecSym2 a6989586621679965742 a6989586621679965743 :: TyFun Symbol Symbol -> Type) Source # | |
Defined in Text.Show.Singletons suppressUnusedWarnings :: () # | |
type Apply (ShowsPrecSym2 a6989586621679965742 a6989586621679965743 :: TyFun Symbol Symbol -> Type) (a6989586621679965744 :: Symbol) Source # | |
Defined in Text.Show.Singletons |
type family ShowsPrecSym3 (a6989586621679965742 :: Natural) (a6989586621679965743 :: a) (a6989586621679965744 :: Symbol) :: Symbol where ... Source #
ShowsPrecSym3 a6989586621679965742 a6989586621679965743 a6989586621679965744 = ShowsPrec a6989586621679965742 a6989586621679965743 a6989586621679965744 |
data ShowStringSym0 :: (~>) Symbol ((~>) Symbol Symbol) Source #
Instances
SingI ShowStringSym0 Source # | |
Defined in Text.Show.Singletons sing :: Sing ShowStringSym0 # | |
SuppressUnusedWarnings ShowStringSym0 Source # | |
Defined in Text.Show.Singletons suppressUnusedWarnings :: () # | |
type Apply ShowStringSym0 (a6989586621679965697 :: Symbol) Source # | |
Defined in Text.Show.Singletons |
data ShowStringSym1 (a6989586621679965697 :: Symbol) :: (~>) Symbol Symbol Source #
Instances
SingI1 ShowStringSym1 Source # | |
Defined in Text.Show.Singletons liftSing :: forall (x :: k1). Sing x -> Sing (ShowStringSym1 x) # | |
SingI d => SingI (ShowStringSym1 d :: TyFun Symbol Symbol -> Type) Source # | |
Defined in Text.Show.Singletons sing :: Sing (ShowStringSym1 d) # | |
SuppressUnusedWarnings (ShowStringSym1 a6989586621679965697 :: TyFun Symbol Symbol -> Type) Source # | |
Defined in Text.Show.Singletons suppressUnusedWarnings :: () # | |
type Apply (ShowStringSym1 a6989586621679965697 :: TyFun Symbol Symbol -> Type) (a6989586621679965698 :: Symbol) Source # | |
Defined in Text.Show.Singletons type Apply (ShowStringSym1 a6989586621679965697 :: TyFun Symbol Symbol -> Type) (a6989586621679965698 :: Symbol) = ShowString a6989586621679965697 a6989586621679965698 |
type family ShowStringSym2 (a6989586621679965697 :: Symbol) (a6989586621679965698 :: Symbol) :: Symbol where ... Source #
ShowStringSym2 a6989586621679965697 a6989586621679965698 = ShowString a6989586621679965697 a6989586621679965698 |
data ShowParenSym0 :: (~>) Bool ((~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol)) Source #
Instances
SingI ShowParenSym0 Source # | |
Defined in Text.Show.Singletons sing :: Sing ShowParenSym0 # | |
SuppressUnusedWarnings ShowParenSym0 Source # | |
Defined in Text.Show.Singletons suppressUnusedWarnings :: () # | |
type Apply ShowParenSym0 (a6989586621679965681 :: Bool) Source # | |
Defined in Text.Show.Singletons |
data ShowParenSym1 (a6989586621679965681 :: Bool) :: (~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol) Source #
Instances
SingI1 ShowParenSym1 Source # | |
Defined in Text.Show.Singletons liftSing :: forall (x :: k1). Sing x -> Sing (ShowParenSym1 x) # | |
SingI d => SingI (ShowParenSym1 d :: TyFun (Symbol ~> Symbol) (Symbol ~> Symbol) -> Type) Source # | |
Defined in Text.Show.Singletons sing :: Sing (ShowParenSym1 d) # | |
SuppressUnusedWarnings (ShowParenSym1 a6989586621679965681 :: TyFun (Symbol ~> Symbol) (Symbol ~> Symbol) -> Type) Source # | |
Defined in Text.Show.Singletons suppressUnusedWarnings :: () # | |
type Apply (ShowParenSym1 a6989586621679965681 :: TyFun (Symbol ~> Symbol) (Symbol ~> Symbol) -> Type) (a6989586621679965682 :: Symbol ~> Symbol) Source # | |
Defined in Text.Show.Singletons |
data ShowParenSym2 (a6989586621679965681 :: Bool) (a6989586621679965682 :: (~>) Symbol Symbol) :: (~>) Symbol Symbol Source #
Instances
SingI2 ShowParenSym2 Source # | |
Defined in Text.Show.Singletons | |
(SingI d1, SingI d2) => SingI (ShowParenSym2 d1 d2 :: TyFun Symbol Symbol -> Type) Source # | |
Defined in Text.Show.Singletons sing :: Sing (ShowParenSym2 d1 d2) # | |
SuppressUnusedWarnings (ShowParenSym2 a6989586621679965681 a6989586621679965682 :: TyFun Symbol Symbol -> Type) Source # | |
Defined in Text.Show.Singletons suppressUnusedWarnings :: () # | |
SingI d => SingI1 (ShowParenSym2 d :: (Symbol ~> Symbol) -> TyFun Symbol Symbol -> Type) Source # | |
Defined in Text.Show.Singletons liftSing :: forall (x :: k1). Sing x -> Sing (ShowParenSym2 d x) # | |
type Apply (ShowParenSym2 a6989586621679965681 a6989586621679965682 :: TyFun Symbol Symbol -> Type) (a6989586621679965683 :: Symbol) Source # | |
Defined in Text.Show.Singletons |
data ShowSpaceSym0 :: (~>) Symbol Symbol Source #
Instances
SingI ShowSpaceSym0 Source # | |
Defined in Text.Show.Singletons sing :: Sing ShowSpaceSym0 # | |
SuppressUnusedWarnings ShowSpaceSym0 Source # | |
Defined in Text.Show.Singletons suppressUnusedWarnings :: () # | |
type Apply ShowSpaceSym0 (a6989586621679965669 :: Symbol) Source # | |
Defined in Text.Show.Singletons |
type family ShowSpaceSym1 (a6989586621679965669 :: Symbol) :: Symbol where ... Source #
ShowSpaceSym1 a6989586621679965669 = ShowSpace a6989586621679965669 |
data ShowCharSym0 :: (~>) Char ((~>) Symbol Symbol) Source #
Instances
SingI ShowCharSym0 Source # | |
Defined in Text.Show.Singletons sing :: Sing ShowCharSym0 # | |
SuppressUnusedWarnings ShowCharSym0 Source # | |
Defined in Text.Show.Singletons suppressUnusedWarnings :: () # | |
type Apply ShowCharSym0 (a6989586621679965708 :: Char) Source # | |
Defined in Text.Show.Singletons |
data ShowCharSym1 (a6989586621679965708 :: Char) :: (~>) Symbol Symbol Source #
Instances
SingI1 ShowCharSym1 Source # | |
Defined in Text.Show.Singletons liftSing :: forall (x :: k1). Sing x -> Sing (ShowCharSym1 x) # | |
SingI d => SingI (ShowCharSym1 d :: TyFun Symbol Symbol -> Type) Source # | |
Defined in Text.Show.Singletons sing :: Sing (ShowCharSym1 d) # | |
SuppressUnusedWarnings (ShowCharSym1 a6989586621679965708 :: TyFun Symbol Symbol -> Type) Source # | |
Defined in Text.Show.Singletons suppressUnusedWarnings :: () # | |
type Apply (ShowCharSym1 a6989586621679965708 :: TyFun Symbol Symbol -> Type) (a6989586621679965709 :: Symbol) Source # | |
Defined in Text.Show.Singletons |
type family ShowCharSym2 (a6989586621679965708 :: Char) (a6989586621679965709 :: Symbol) :: Symbol where ... Source #
ShowCharSym2 a6989586621679965708 a6989586621679965709 = ShowChar a6989586621679965708 a6989586621679965709 |
data ShowCommaSpaceSym0 :: (~>) Symbol Symbol Source #
Instances
SingI ShowCommaSpaceSym0 Source # | |
Defined in Text.Show.Singletons | |
SuppressUnusedWarnings ShowCommaSpaceSym0 Source # | |
Defined in Text.Show.Singletons suppressUnusedWarnings :: () # | |
type Apply ShowCommaSpaceSym0 (a6989586621679965663 :: Symbol) Source # | |
Defined in Text.Show.Singletons type Apply ShowCommaSpaceSym0 (a6989586621679965663 :: Symbol) = ShowCommaSpace a6989586621679965663 |
type family ShowCommaSpaceSym1 (a6989586621679965663 :: Symbol) :: Symbol where ... Source #
ShowCommaSpaceSym1 a6989586621679965663 = ShowCommaSpace a6989586621679965663 |
data FromIntegerSym0 :: (~>) Natural a Source #
Instances
SNum a => SingI (FromIntegerSym0 :: TyFun Natural a -> Type) Source # | |
Defined in GHC.Num.Singletons sing :: Sing FromIntegerSym0 # | |
SuppressUnusedWarnings (FromIntegerSym0 :: TyFun Natural a -> Type) Source # | |
Defined in GHC.Num.Singletons suppressUnusedWarnings :: () # | |
type Apply (FromIntegerSym0 :: TyFun Natural k2 -> Type) (a6989586621679477103 :: Natural) Source # | |
Defined in GHC.Num.Singletons type Apply (FromIntegerSym0 :: TyFun Natural k2 -> Type) (a6989586621679477103 :: Natural) = FromInteger a6989586621679477103 :: k2 |
type family FromIntegerSym1 (a6989586621679477103 :: Natural) :: a where ... Source #
FromIntegerSym1 a6989586621679477103 = FromInteger a6989586621679477103 |
data NegateSym0 :: (~>) a a Source #
Instances
SNum a => SingI (NegateSym0 :: TyFun a a -> Type) Source # | |
Defined in GHC.Num.Singletons sing :: Sing NegateSym0 # | |
SuppressUnusedWarnings (NegateSym0 :: TyFun a a -> Type) Source # | |
Defined in GHC.Num.Singletons suppressUnusedWarnings :: () # | |
type Apply (NegateSym0 :: TyFun a a -> Type) (a6989586621679477094 :: a) Source # | |
Defined in GHC.Num.Singletons type Apply (NegateSym0 :: TyFun a a -> Type) (a6989586621679477094 :: a) = Negate a6989586621679477094 |
type family NegateSym1 (a6989586621679477094 :: a) :: a where ... Source #
NegateSym1 a6989586621679477094 = Negate a6989586621679477094 |
data FromStringSym0 :: (~>) Symbol a Source #
Instances
SIsString a => SingI (FromStringSym0 :: TyFun Symbol a -> Type) Source # | |
Defined in Data.String.Singletons sing :: Sing FromStringSym0 # | |
SuppressUnusedWarnings (FromStringSym0 :: TyFun Symbol a -> Type) Source # | |
Defined in Data.String.Singletons suppressUnusedWarnings :: () # | |
type Apply (FromStringSym0 :: TyFun Symbol k2 -> Type) (a6989586621680669107 :: Symbol) Source # | |
Defined in Data.String.Singletons type Apply (FromStringSym0 :: TyFun Symbol k2 -> Type) (a6989586621680669107 :: Symbol) = FromString a6989586621680669107 :: k2 |
type family FromStringSym1 (a6989586621680669107 :: Symbol) :: a where ... Source #
FromStringSym1 a6989586621680669107 = FromString a6989586621680669107 |
data FmapSym0 :: (~>) ((~>) a b) ((~>) (f a) (f b)) Source #
Instances
SFunctor f => SingI (FmapSym0 :: TyFun (a ~> b) (f a ~> f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings (FmapSym0 :: TyFun (a ~> b) (f a ~> f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (FmapSym0 :: TyFun (a ~> b) (f a ~> f b) -> Type) (a6989586621679276541 :: a ~> b) Source # | |
data FmapSym1 (a6989586621679276541 :: (~>) a b) :: (~>) (f a) (f b) Source #
Instances
SFunctor f => SingI1 (FmapSym1 :: (a ~> b) -> TyFun (f a) (f b) -> Type) Source # | |
(SFunctor f, SingI d) => SingI (FmapSym1 d :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings (FmapSym1 a6989586621679276541 :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (FmapSym1 a6989586621679276541 :: TyFun (f a) (f b) -> Type) (a6989586621679276542 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal |
type family FmapSym2 (a6989586621679276541 :: (~>) a b) (a6989586621679276542 :: f a) :: f b where ... Source #
data (<$@#@$) :: (~>) a ((~>) (f b) (f a)) infixl 4 Source #
Instances
SFunctor f => SingI ((<$@#@$) :: TyFun a (f b ~> f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings ((<$@#@$) :: TyFun a (f b ~> f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<$@#@$) :: TyFun a (f b ~> f a) -> Type) (a6989586621679276546 :: a) Source # | |
data (<$@#@$$) (a6989586621679276546 :: a) :: (~>) (f b) (f a) infixl 4 Source #
Instances
SFunctor f => SingI1 ((<$@#@$$) :: a -> TyFun (f b) (f a) -> Type) Source # | |
(SFunctor f, SingI d) => SingI ((<$@#@$$) d :: TyFun (f b) (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings ((<$@#@$$) a6989586621679276546 :: TyFun (f b) (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<$@#@$$) a6989586621679276546 :: TyFun (f b) (f a) -> Type) (a6989586621679276547 :: f b) Source # | |
Defined in Control.Monad.Singletons.Internal |
type family (a6989586621679276546 :: a) <$@#@$$$ (a6989586621679276547 :: f b) :: f a where ... infixl 4 Source #
data FoldMapSym0 :: (~>) ((~>) a m) ((~>) (t a) m) Source #
Instances
(SFoldable t, SMonoid m) => SingI (FoldMapSym0 :: TyFun (a ~> m) (t a ~> m) -> Type) Source # | |
Defined in Data.Foldable.Singletons sing :: Sing FoldMapSym0 # | |
SuppressUnusedWarnings (FoldMapSym0 :: TyFun (a ~> m) (t a ~> m) -> Type) Source # | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () # | |
type Apply (FoldMapSym0 :: TyFun (a ~> m) (t a ~> m) -> Type) (a6989586621680110553 :: a ~> m) Source # | |
Defined in Data.Foldable.Singletons type Apply (FoldMapSym0 :: TyFun (a ~> m) (t a ~> m) -> Type) (a6989586621680110553 :: a ~> m) = FoldMapSym1 a6989586621680110553 :: TyFun (t a) m -> Type |
data FoldMapSym1 (a6989586621680110553 :: (~>) a m) :: (~>) (t a) m Source #
Instances
(SFoldable t, SMonoid m) => SingI1 (FoldMapSym1 :: (a ~> m) -> TyFun (t a) m -> Type) Source # | |
Defined in Data.Foldable.Singletons liftSing :: forall (x :: k1). Sing x -> Sing (FoldMapSym1 x) # | |
(SFoldable t, SMonoid m, SingI d) => SingI (FoldMapSym1 d :: TyFun (t a) m -> Type) Source # | |
Defined in Data.Foldable.Singletons sing :: Sing (FoldMapSym1 d) # | |
SuppressUnusedWarnings (FoldMapSym1 a6989586621680110553 :: TyFun (t a) m -> Type) Source # | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () # | |
type Apply (FoldMapSym1 a6989586621680110553 :: TyFun (t a) m -> Type) (a6989586621680110554 :: t a) Source # | |
Defined in Data.Foldable.Singletons type Apply (FoldMapSym1 a6989586621680110553 :: TyFun (t a) m -> Type) (a6989586621680110554 :: t a) = FoldMap a6989586621680110553 a6989586621680110554 |
type family FoldMapSym2 (a6989586621680110553 :: (~>) a m) (a6989586621680110554 :: t a) :: m where ... Source #
FoldMapSym2 a6989586621680110553 a6989586621680110554 = FoldMap a6989586621680110553 a6989586621680110554 |
data (<>@#@$) :: (~>) a ((~>) a a) infixr 6 Source #
Instances
SSemigroup a => SingI ((<>@#@$) :: TyFun a (a ~> a) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Classes | |
SuppressUnusedWarnings ((<>@#@$) :: TyFun a (a ~> a) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Classes suppressUnusedWarnings :: () # | |
type Apply ((<>@#@$) :: TyFun a (a ~> a) -> Type) (a6989586621679166895 :: a) Source # | |
data (<>@#@$$) (a6989586621679166895 :: a) :: (~>) a a infixr 6 Source #
Instances
SSemigroup a => SingI1 ((<>@#@$$) :: a -> TyFun a a -> Type) Source # | |
(SSemigroup a, SingI d) => SingI ((<>@#@$$) d :: TyFun a a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Classes | |
SuppressUnusedWarnings ((<>@#@$$) a6989586621679166895 :: TyFun a a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Classes suppressUnusedWarnings :: () # | |
type Apply ((<>@#@$$) a6989586621679166895 :: TyFun a a -> Type) (a6989586621679166896 :: a) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Classes |
type family (a6989586621679166895 :: a) <>@#@$$$ (a6989586621679166896 :: a) :: a where ... infixr 6 Source #
type family MemptySym0 :: a where ... Source #
data MappendSym0 :: (~>) a ((~>) a a) Source #
Instances
SMonoid a => SingI (MappendSym0 :: TyFun a (a ~> a) -> Type) Source # | |
Defined in Data.Monoid.Singletons sing :: Sing MappendSym0 # | |
SuppressUnusedWarnings (MappendSym0 :: TyFun a (a ~> a) -> Type) Source # | |
Defined in Data.Monoid.Singletons suppressUnusedWarnings :: () # | |
type Apply (MappendSym0 :: TyFun a (a ~> a) -> Type) (a6989586621680031457 :: a) Source # | |
Defined in Data.Monoid.Singletons type Apply (MappendSym0 :: TyFun a (a ~> a) -> Type) (a6989586621680031457 :: a) = MappendSym1 a6989586621680031457 |
data MappendSym1 (a6989586621680031457 :: a) :: (~>) a a Source #
Instances
SMonoid a => SingI1 (MappendSym1 :: a -> TyFun a a -> Type) Source # | |
Defined in Data.Monoid.Singletons liftSing :: forall (x :: k1). Sing x -> Sing (MappendSym1 x) # | |
(SMonoid a, SingI d) => SingI (MappendSym1 d :: TyFun a a -> Type) Source # | |
Defined in Data.Monoid.Singletons sing :: Sing (MappendSym1 d) # | |
SuppressUnusedWarnings (MappendSym1 a6989586621680031457 :: TyFun a a -> Type) Source # | |
Defined in Data.Monoid.Singletons suppressUnusedWarnings :: () # | |
type Apply (MappendSym1 a6989586621680031457 :: TyFun a a -> Type) (a6989586621680031458 :: a) Source # | |
Defined in Data.Monoid.Singletons type Apply (MappendSym1 a6989586621680031457 :: TyFun a a -> Type) (a6989586621680031458 :: a) = Mappend a6989586621680031457 a6989586621680031458 |
type family MappendSym2 (a6989586621680031457 :: a) (a6989586621680031458 :: a) :: a where ... Source #
MappendSym2 a6989586621680031457 a6989586621680031458 = Mappend a6989586621680031457 a6989586621680031458 |
data FoldrSym0 :: (~>) ((~>) a ((~>) b b)) ((~>) b ((~>) (t a) b)) Source #
Instances
SFoldable t => SingI (FoldrSym0 :: TyFun (a ~> (b ~> b)) (b ~> (t a ~> b)) -> Type) Source # | |
Defined in Data.Foldable.Singletons | |
SuppressUnusedWarnings (FoldrSym0 :: TyFun (a ~> (b ~> b)) (b ~> (t a ~> b)) -> Type) Source # | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () # | |
type Apply (FoldrSym0 :: TyFun (a ~> (b ~> b)) (b ~> (t a ~> b)) -> Type) (a6989586621680110559 :: a ~> (b ~> b)) Source # | |
data FoldrSym1 (a6989586621680110559 :: (~>) a ((~>) b b)) :: (~>) b ((~>) (t a) b) Source #
Instances
SFoldable t => SingI1 (FoldrSym1 :: (a ~> (b ~> b)) -> TyFun b (t a ~> b) -> Type) Source # | |
(SFoldable t, SingI d) => SingI (FoldrSym1 d :: TyFun b (t a ~> b) -> Type) Source # | |
Defined in Data.Foldable.Singletons | |
SuppressUnusedWarnings (FoldrSym1 a6989586621680110559 :: TyFun b (t a ~> b) -> Type) Source # | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () # | |
type Apply (FoldrSym1 a6989586621680110559 :: TyFun b (t a ~> b) -> Type) (a6989586621680110560 :: b) Source # | |
data FoldrSym2 (a6989586621680110559 :: (~>) a ((~>) b b)) (a6989586621680110560 :: b) :: (~>) (t a) b Source #
Instances
(SFoldable t, SingI d) => SingI1 (FoldrSym2 d :: b -> TyFun (t a) b -> Type) Source # | |
SFoldable t => SingI2 (FoldrSym2 :: (a ~> (b ~> b)) -> b -> TyFun (t a) b -> Type) Source # | |
(SFoldable t, SingI d1, SingI d2) => SingI (FoldrSym2 d1 d2 :: TyFun (t a) b -> Type) Source # | |
Defined in Data.Foldable.Singletons | |
SuppressUnusedWarnings (FoldrSym2 a6989586621680110559 a6989586621680110560 :: TyFun (t a) b -> Type) Source # | |
Defined in Data.Foldable.Singletons suppressUnusedWarnings :: () # | |
type Apply (FoldrSym2 a6989586621680110559 a6989586621680110560 :: TyFun (t a) b -> Type) (a6989586621680110561 :: t a) Source # | |
Defined in Data.Foldable.Singletons |
type family FoldrSym3 (a6989586621680110559 :: (~>) a ((~>) b b)) (a6989586621680110560 :: b) (a6989586621680110561 :: t a) :: b where ... Source #
data TraverseSym0 :: (~>) ((~>) a (f b)) ((~>) (t a) (f (t b))) Source #
Instances
(STraversable t, SApplicative f) => SingI (TraverseSym0 :: TyFun (a ~> f b) (t a ~> f (t b)) -> Type) Source # | |
Defined in Data.Traversable.Singletons sing :: Sing TraverseSym0 # | |
SuppressUnusedWarnings (TraverseSym0 :: TyFun (a ~> f b) (t a ~> f (t b)) -> Type) Source # | |
Defined in Data.Traversable.Singletons suppressUnusedWarnings :: () # | |
type Apply (TraverseSym0 :: TyFun (a ~> f b) (t a ~> f (t b)) -> Type) (a6989586621680379945 :: a ~> f b) Source # | |
Defined in Data.Traversable.Singletons type Apply (TraverseSym0 :: TyFun (a ~> f b) (t a ~> f (t b)) -> Type) (a6989586621680379945 :: a ~> f b) = TraverseSym1 a6989586621680379945 :: TyFun (t a) (f (t b)) -> Type |
data TraverseSym1 (a6989586621680379945 :: (~>) a (f b)) :: (~>) (t a) (f (t b)) Source #
Instances
(STraversable t, SApplicative f) => SingI1 (TraverseSym1 :: (a ~> f b) -> TyFun (t a) (f (t b)) -> Type) Source # | |
Defined in Data.Traversable.Singletons liftSing :: forall (x :: k1). Sing x -> Sing (TraverseSym1 x) # | |
(STraversable t, SApplicative f, SingI d) => SingI (TraverseSym1 d :: TyFun (t a) (f (t b)) -> Type) Source # | |
Defined in Data.Traversable.Singletons sing :: Sing (TraverseSym1 d) # | |
SuppressUnusedWarnings (TraverseSym1 a6989586621680379945 :: TyFun (t a) (f (t b)) -> Type) Source # | |
Defined in Data.Traversable.Singletons suppressUnusedWarnings :: () # | |
type Apply (TraverseSym1 a6989586621680379945 :: TyFun (t a) (f (t b)) -> Type) (a6989586621680379946 :: t a) Source # | |
Defined in Data.Traversable.Singletons type Apply (TraverseSym1 a6989586621680379945 :: TyFun (t a) (f (t b)) -> Type) (a6989586621680379946 :: t a) = Traverse a6989586621680379945 a6989586621680379946 |
type family TraverseSym2 (a6989586621680379945 :: (~>) a (f b)) (a6989586621680379946 :: t a) :: f (t b) where ... Source #
TraverseSym2 a6989586621680379945 a6989586621680379946 = Traverse a6989586621680379945 a6989586621680379946 |
data PureSym0 :: (~>) a (f a) Source #
Instances
SApplicative f => SingI (PureSym0 :: TyFun a (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings (PureSym0 :: TyFun a (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (PureSym0 :: TyFun a (f a) -> Type) (a6989586621679276565 :: a) Source # | |
Defined in Control.Monad.Singletons.Internal |
data (<*>@#@$) :: (~>) (f ((~>) a b)) ((~>) (f a) (f b)) infixl 4 Source #
Instances
SApplicative f => SingI ((<*>@#@$) :: TyFun (f (a ~> b)) (f a ~> f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings ((<*>@#@$) :: TyFun (f (a ~> b)) (f a ~> f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<*>@#@$) :: TyFun (f (a ~> b)) (f a ~> f b) -> Type) (a6989586621679276569 :: f (a ~> b)) Source # | |
Defined in Control.Monad.Singletons.Internal |
data (<*>@#@$$) (a6989586621679276569 :: f ((~>) a b)) :: (~>) (f a) (f b) infixl 4 Source #
Instances
SApplicative f => SingI1 ((<*>@#@$$) :: f (a ~> b) -> TyFun (f a) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal liftSing :: forall (x :: k1). Sing x -> Sing ((<*>@#@$$) x) # | |
(SApplicative f, SingI d) => SingI ((<*>@#@$$) d :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing ((<*>@#@$$) d) # | |
SuppressUnusedWarnings ((<*>@#@$$) a6989586621679276569 :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<*>@#@$$) a6989586621679276569 :: TyFun (f a) (f b) -> Type) (a6989586621679276570 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply ((<*>@#@$$) a6989586621679276569 :: TyFun (f a) (f b) -> Type) (a6989586621679276570 :: f a) = a6989586621679276569 <*> a6989586621679276570 |
type family (a6989586621679276569 :: f ((~>) a b)) <*>@#@$$$ (a6989586621679276570 :: f a) :: f b where ... infixl 4 Source #
data LiftA2Sym0 :: (~>) ((~>) a ((~>) b c)) ((~>) (f a) ((~>) (f b) (f c))) Source #
Instances
SApplicative f => SingI (LiftA2Sym0 :: TyFun (a ~> (b ~> c)) (f a ~> (f b ~> f c)) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing LiftA2Sym0 # | |
SuppressUnusedWarnings (LiftA2Sym0 :: TyFun (a ~> (b ~> c)) (f a ~> (f b ~> f c)) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (LiftA2Sym0 :: TyFun (a ~> (b ~> c)) (f a ~> (f b ~> f c)) -> Type) (a6989586621679276575 :: a ~> (b ~> c)) Source # | |
Defined in Control.Monad.Singletons.Internal |
data LiftA2Sym1 (a6989586621679276575 :: (~>) a ((~>) b c)) :: (~>) (f a) ((~>) (f b) (f c)) Source #
Instances
SApplicative f => SingI1 (LiftA2Sym1 :: (a ~> (b ~> c)) -> TyFun (f a) (f b ~> f c) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal liftSing :: forall (x :: k1). Sing x -> Sing (LiftA2Sym1 x) # | |
(SApplicative f, SingI d) => SingI (LiftA2Sym1 d :: TyFun (f a) (f b ~> f c) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing (LiftA2Sym1 d) # | |
SuppressUnusedWarnings (LiftA2Sym1 a6989586621679276575 :: TyFun (f a) (f b ~> f c) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (LiftA2Sym1 a6989586621679276575 :: TyFun (f a) (f b ~> f c) -> Type) (a6989586621679276576 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply (LiftA2Sym1 a6989586621679276575 :: TyFun (f a) (f b ~> f c) -> Type) (a6989586621679276576 :: f a) = LiftA2Sym2 a6989586621679276575 a6989586621679276576 |
data LiftA2Sym2 (a6989586621679276575 :: (~>) a ((~>) b c)) (a6989586621679276576 :: f a) :: (~>) (f b) (f c) Source #
Instances
(SApplicative f, SingI d) => SingI1 (LiftA2Sym2 d :: f a -> TyFun (f b) (f c) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal liftSing :: forall (x :: k1). Sing x -> Sing (LiftA2Sym2 d x) # | |
SApplicative f => SingI2 (LiftA2Sym2 :: (a ~> (b ~> c)) -> f a -> TyFun (f b) (f c) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
(SApplicative f, SingI d1, SingI d2) => SingI (LiftA2Sym2 d1 d2 :: TyFun (f b) (f c) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing (LiftA2Sym2 d1 d2) # | |
SuppressUnusedWarnings (LiftA2Sym2 a6989586621679276575 a6989586621679276576 :: TyFun (f b) (f c) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (LiftA2Sym2 a6989586621679276575 a6989586621679276576 :: TyFun (f b) (f c) -> Type) (a6989586621679276577 :: f b) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply (LiftA2Sym2 a6989586621679276575 a6989586621679276576 :: TyFun (f b) (f c) -> Type) (a6989586621679276577 :: f b) = LiftA2 a6989586621679276575 a6989586621679276576 a6989586621679276577 |
type family LiftA2Sym3 (a6989586621679276575 :: (~>) a ((~>) b c)) (a6989586621679276576 :: f a) (a6989586621679276577 :: f b) :: f c where ... Source #
LiftA2Sym3 a6989586621679276575 a6989586621679276576 a6989586621679276577 = LiftA2 a6989586621679276575 a6989586621679276576 a6989586621679276577 |
data (.@#@$) :: (~>) ((~>) b c) ((~>) ((~>) a b) ((~>) a c)) infixr 9 Source #
Instances
SingI ((.@#@$) :: TyFun (b ~> c) ((a ~> b) ~> (a ~> c)) -> Type) Source # | |
Defined in GHC.Base.Singletons | |
SuppressUnusedWarnings ((.@#@$) :: TyFun (b ~> c) ((a ~> b) ~> (a ~> c)) -> Type) Source # | |
Defined in GHC.Base.Singletons suppressUnusedWarnings :: () # | |
type Apply ((.@#@$) :: TyFun (b ~> c) ((a ~> b) ~> (a ~> c)) -> Type) (a6989586621679144174 :: b ~> c) Source # | |
data (.@#@$$) (a6989586621679144174 :: (~>) b c) :: (~>) ((~>) a b) ((~>) a c) infixr 9 Source #
Instances
SingI1 ((.@#@$$) :: (b ~> c) -> TyFun (a ~> b) (a ~> c) -> Type) Source # | |
SingI d => SingI ((.@#@$$) d :: TyFun (a ~> b) (a ~> c) -> Type) Source # | |
Defined in GHC.Base.Singletons | |
SuppressUnusedWarnings ((.@#@$$) a6989586621679144174 :: TyFun (a ~> b) (a ~> c) -> Type) Source # | |
Defined in GHC.Base.Singletons suppressUnusedWarnings :: () # | |
type Apply ((.@#@$$) a6989586621679144174 :: TyFun (a ~> b) (a ~> c) -> Type) (a6989586621679144175 :: a ~> b) Source # | |
data (a6989586621679144174 :: (~>) b c) .@#@$$$ (a6989586621679144175 :: (~>) a b) :: (~>) a c infixr 9 Source #
Instances
SingI2 ((.@#@$$$) :: (b ~> c) -> (a ~> b) -> TyFun a c -> Type) Source # | |
SingI d => SingI1 ((.@#@$$$) d :: (a ~> b) -> TyFun a c -> Type) Source # | |
(SingI d1, SingI d2) => SingI (d1 .@#@$$$ d2 :: TyFun a c -> Type) Source # | |
Defined in GHC.Base.Singletons | |
SuppressUnusedWarnings (a6989586621679144174 .@#@$$$ a6989586621679144175 :: TyFun a c -> Type) Source # | |
Defined in GHC.Base.Singletons suppressUnusedWarnings :: () # | |
type Apply (a6989586621679144174 .@#@$$$ a6989586621679144175 :: TyFun a c -> Type) (a6989586621679144176 :: a) Source # | |
Defined in GHC.Base.Singletons |
type family ((a6989586621679144174 :: (~>) b c) .@#@$$$$ (a6989586621679144175 :: (~>) a b)) (a6989586621679144176 :: a) :: c where ... infixr 9 Source #
data (:@#@$) :: (~>) a ((~>) [a] [a :: Type]) infixr 5 Source #
Instances
SingI ((:@#@$) :: TyFun a ([a] ~> [a]) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
SuppressUnusedWarnings ((:@#@$) :: TyFun a ([a] ~> [a]) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply ((:@#@$) :: TyFun a ([a] ~> [a]) -> Type) (a6989586621679037552 :: a) Source # | |
data (:@#@$$) (a6989586621679037552 :: a) :: (~>) [a] [a :: Type] infixr 5 Source #
Instances
SingI1 ((:@#@$$) :: a -> TyFun [a] [a] -> Type) Source # | |
SingI d => SingI ((:@#@$$) d :: TyFun [a] [a] -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
SuppressUnusedWarnings ((:@#@$$) a6989586621679037552 :: TyFun [a] [a] -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply ((:@#@$$) a6989586621679037552 :: TyFun [a] [a] -> Type) (a6989586621679037553 :: [a]) Source # | |
Defined in Data.Singletons.Base.Instances |
type family (a6989586621679037552 :: a) :@#@$$$ (a6989586621679037553 :: [a]) :: [a :: Type] where ... infixr 5 Source #
a6989586621679037552 :@#@$$$ a6989586621679037553 = '(:) a6989586621679037552 a6989586621679037553 |
class SuppressUnusedWarnings (t :: k) where #
This class (which users should never see) is to be instantiated in order to use an otherwise-unused data constructor, such as the "kind-inference" data constructor for defunctionalization symbols.
suppressUnusedWarnings :: () #