Copyright | (C) 2018 Ryan Scott |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Ryan Scott |
Stability | experimental |
Portability | non-portable |
Safe Haskell | Safe-Inferred |
Language | GHC2021 |
Defines the promoted version of Semigroup
, PSemigroup
, and the
singleton version, SSemigroup
.
Synopsis
- class PSemigroup a where
- class SSemigroup a where
- type family Sing :: k -> Type
- data SMin :: forall (a :: Type). Min a -> Type where
- data SMax :: forall (a :: Type). Max a -> Type where
- data SFirst :: forall (a :: Type). First a -> Type where
- data SLast :: forall (a :: Type). Last a -> Type where
- data SWrappedMonoid :: forall (m :: Type). WrappedMonoid m -> Type where
- SWrapMonoid :: forall (m :: Type) (n :: m). (Sing n) -> SWrappedMonoid ('WrapMonoid n :: WrappedMonoid (m :: Type))
- data SDual :: forall (a :: Type). Dual a -> Type where
- data SAll :: All -> Type where
- data SAny :: Any -> Type where
- data SSum :: forall (a :: Type). Sum a -> Type where
- data SProduct :: forall (a :: Type). Product a -> Type where
- data SArg :: forall (a :: Type) (b :: Type). Arg a b -> Type where
- type family GetMin (a :: Min (a :: Type)) :: a where ...
- type family GetMax (a :: Max (a :: Type)) :: a where ...
- type family GetFirst (a :: First (a :: Type)) :: a where ...
- type family GetLast (a :: Last (a :: Type)) :: a where ...
- type family UnwrapMonoid (a :: WrappedMonoid (m :: Type)) :: m where ...
- type family GetDual (a :: Dual (a :: Type)) :: a where ...
- type family GetAll (a :: All) :: Bool where ...
- type family GetAny (a :: Any) :: Bool where ...
- type family GetSum (a :: Sum (a :: Type)) :: a where ...
- type family GetProduct (a :: Product (a :: Type)) :: a where ...
- sGetMin :: forall (a :: Type) (t :: Min (a :: Type)). Sing t -> Sing (Apply GetMinSym0 t :: a)
- sGetMax :: forall (a :: Type) (t :: Max (a :: Type)). Sing t -> Sing (Apply GetMaxSym0 t :: a)
- sGetFirst :: forall (a :: Type) (t :: First (a :: Type)). Sing t -> Sing (Apply GetFirstSym0 t :: a)
- sGetLast :: forall (a :: Type) (t :: Last (a :: Type)). Sing t -> Sing (Apply GetLastSym0 t :: a)
- sUnwrapMonoid :: forall (m :: Type) (t :: WrappedMonoid (m :: Type)). Sing t -> Sing (Apply UnwrapMonoidSym0 t :: m)
- sGetDual :: forall (a :: Type) (t :: Dual (a :: Type)). Sing t -> Sing (Apply GetDualSym0 t :: a)
- sGetAll :: forall (t :: All). Sing t -> Sing (Apply GetAllSym0 t :: Bool)
- sGetAny :: forall (t :: Any). Sing t -> Sing (Apply GetAnySym0 t :: Bool)
- sGetSum :: forall (a :: Type) (t :: Sum (a :: Type)). Sing t -> Sing (Apply GetSumSym0 t :: a)
- sGetProduct :: forall (a :: Type) (t :: Product (a :: Type)). Sing t -> Sing (Apply GetProductSym0 t :: a)
- data (<>@#@$) :: (~>) a ((~>) a a)
- data (<>@#@$$) (a6989586621679691601 :: a) :: (~>) a a
- type family (a6989586621679691601 :: a) <>@#@$$$ (a6989586621679691602 :: a) :: a where ...
- data SconcatSym0 :: (~>) (NonEmpty a) a
- type family SconcatSym1 (a6989586621679691605 :: NonEmpty a) :: a where ...
- data MinSym0 :: (~>) a (Min (a :: Type))
- type family MinSym1 (a6989586621679703838 :: a) :: Min (a :: Type) where ...
- data GetMinSym0 :: (~>) (Min (a :: Type)) a
- type family GetMinSym1 (a6989586621679703841 :: Min (a :: Type)) :: a where ...
- data MaxSym0 :: (~>) a (Max (a :: Type))
- type family MaxSym1 (a6989586621679703857 :: a) :: Max (a :: Type) where ...
- data GetMaxSym0 :: (~>) (Max (a :: Type)) a
- type family GetMaxSym1 (a6989586621679703860 :: Max (a :: Type)) :: a where ...
- data FirstSym0 :: (~>) a (First (a :: Type))
- type family FirstSym1 (a6989586621679703876 :: a) :: First (a :: Type) where ...
- data GetFirstSym0 :: (~>) (First (a :: Type)) a
- type family GetFirstSym1 (a6989586621679703879 :: First (a :: Type)) :: a where ...
- data LastSym0 :: (~>) a (Last (a :: Type))
- type family LastSym1 (a6989586621679703895 :: a) :: Last (a :: Type) where ...
- data GetLastSym0 :: (~>) (Last (a :: Type)) a
- type family GetLastSym1 (a6989586621679703898 :: Last (a :: Type)) :: a where ...
- data WrapMonoidSym0 :: (~>) m (WrappedMonoid (m :: Type))
- type family WrapMonoidSym1 (a6989586621679703914 :: m) :: WrappedMonoid (m :: Type) where ...
- data UnwrapMonoidSym0 :: (~>) (WrappedMonoid (m :: Type)) m
- type family UnwrapMonoidSym1 (a6989586621679703917 :: WrappedMonoid (m :: Type)) :: m where ...
- data DualSym0 :: (~>) a (Dual (a :: Type))
- type family DualSym1 (a6989586621679703748 :: a) :: Dual (a :: Type) where ...
- data GetDualSym0 :: (~>) (Dual (a :: Type)) a
- type family GetDualSym1 (a6989586621679703751 :: Dual (a :: Type)) :: a where ...
- data AllSym0 :: (~>) Bool All
- type family AllSym1 (a6989586621679703765 :: Bool) :: All where ...
- data GetAllSym0 :: (~>) All Bool
- type family GetAllSym1 (a6989586621679703768 :: All) :: Bool where ...
- data AnySym0 :: (~>) Bool Any
- type family AnySym1 (a6989586621679703781 :: Bool) :: Any where ...
- data GetAnySym0 :: (~>) Any Bool
- type family GetAnySym1 (a6989586621679703784 :: Any) :: Bool where ...
- data SumSym0 :: (~>) a (Sum (a :: Type))
- type family SumSym1 (a6989586621679703800 :: a) :: Sum (a :: Type) where ...
- data GetSumSym0 :: (~>) (Sum (a :: Type)) a
- type family GetSumSym1 (a6989586621679703803 :: Sum (a :: Type)) :: a where ...
- data ProductSym0 :: (~>) a (Product (a :: Type))
- type family ProductSym1 (a6989586621679703819 :: a) :: Product (a :: Type) where ...
- data GetProductSym0 :: (~>) (Product (a :: Type)) a
- type family GetProductSym1 (a6989586621679703822 :: Product (a :: Type)) :: a where ...
- data ArgSym0 :: (~>) a ((~>) b (Arg (a :: Type) (b :: Type)))
- data ArgSym1 (a6989586621680925738 :: a) :: (~>) b (Arg (a :: Type) (b :: Type))
- type family ArgSym2 (a6989586621680925738 :: a) (a6989586621680925739 :: b) :: Arg (a :: Type) (b :: Type) where ...
Documentation
class PSemigroup a Source #
type (arg :: a) <> (arg :: a) :: a infixr 6 Source #
type Sconcat (arg :: NonEmpty a) :: a Source #
type Sconcat a = Apply Sconcat_6989586621679691607Sym0 a
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) infixr 6 Source #
sSconcat :: forall (t :: NonEmpty a). Sing t -> Sing (Apply SconcatSym0 t :: a) Source #
default sSconcat :: forall (t :: NonEmpty a). (Apply SconcatSym0 t :: a) ~ Apply Sconcat_6989586621679691607Sym0 t => Sing t -> Sing (Apply SconcatSym0 t :: a) Source #
Instances
type family Sing :: k -> Type #
Instances
data SMin :: forall (a :: Type). Min a -> Type where Source #
Instances
SDecide a => TestCoercion (SMin :: Min a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SDecide a => TestEquality (SMin :: Min a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
ShowSing a => Show (SMin z) Source # | |
data SMax :: forall (a :: Type). Max a -> Type where Source #
Instances
SDecide a => TestCoercion (SMax :: Max a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SDecide a => TestEquality (SMax :: Max a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
ShowSing a => Show (SMax z) Source # | |
data SFirst :: forall (a :: Type). First a -> Type where Source #
Instances
SDecide a => TestCoercion (SFirst :: First a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SDecide a => TestEquality (SFirst :: First a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
ShowSing a => Show (SFirst z) Source # | |
data SLast :: forall (a :: Type). Last a -> Type where Source #
Instances
SDecide a => TestCoercion (SLast :: Last a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SDecide a => TestEquality (SLast :: Last a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
ShowSing a => Show (SLast z) Source # | |
data SWrappedMonoid :: forall (m :: Type). WrappedMonoid m -> Type where Source #
SWrapMonoid :: forall (m :: Type) (n :: m). (Sing n) -> SWrappedMonoid ('WrapMonoid n :: WrappedMonoid (m :: Type)) |
Instances
SDecide m => TestCoercion (SWrappedMonoid :: WrappedMonoid m -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal testCoercion :: forall (a :: k) (b :: k). SWrappedMonoid a -> SWrappedMonoid b -> Maybe (Coercion a b) # | |
SDecide m => TestEquality (SWrappedMonoid :: WrappedMonoid m -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal testEquality :: forall (a :: k) (b :: k). SWrappedMonoid a -> SWrappedMonoid b -> Maybe (a :~: b) # | |
ShowSing m => Show (SWrappedMonoid z) Source # | |
Defined in Data.Semigroup.Singletons showsPrec :: Int -> SWrappedMonoid z -> ShowS # show :: SWrappedMonoid z -> String # showList :: [SWrappedMonoid z] -> ShowS # |
data SDual :: forall (a :: Type). Dual a -> Type where Source #
Instances
SDecide a => TestCoercion (SDual :: Dual a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SDecide a => TestEquality (SDual :: Dual a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
ShowSing a => Show (SDual z) Source # | |
data SAll :: All -> Type where Source #
Instances
SDecide Bool => TestCoercion SAll Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SDecide Bool => TestEquality SAll Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
ShowSing Bool => Show (SAll z) Source # | |
data SAny :: Any -> Type where Source #
Instances
SDecide Bool => TestCoercion SAny Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SDecide Bool => TestEquality SAny Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
ShowSing Bool => Show (SAny z) Source # | |
data SSum :: forall (a :: Type). Sum a -> Type where Source #
Instances
SDecide a => TestCoercion (SSum :: Sum a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SDecide a => TestEquality (SSum :: Sum a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
ShowSing a => Show (SSum z) Source # | |
data SProduct :: forall (a :: Type). Product a -> Type where Source #
Instances
SDecide a => TestCoercion (SProduct :: Product a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SDecide a => TestEquality (SProduct :: Product a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
ShowSing a => Show (SProduct z) Source # | |
data SArg :: forall (a :: Type) (b :: Type). Arg a b -> Type where Source #
type family UnwrapMonoid (a :: WrappedMonoid (m :: Type)) :: m where ... Source #
UnwrapMonoid ('WrapMonoid field) = field |
type family GetProduct (a :: Product (a :: Type)) :: a where ... Source #
GetProduct ('Product field) = field |
sGetMin :: forall (a :: Type) (t :: Min (a :: Type)). Sing t -> Sing (Apply GetMinSym0 t :: a) Source #
sGetMax :: forall (a :: Type) (t :: Max (a :: Type)). Sing t -> Sing (Apply GetMaxSym0 t :: a) Source #
sGetFirst :: forall (a :: Type) (t :: First (a :: Type)). Sing t -> Sing (Apply GetFirstSym0 t :: a) Source #
sGetLast :: forall (a :: Type) (t :: Last (a :: Type)). Sing t -> Sing (Apply GetLastSym0 t :: a) Source #
sUnwrapMonoid :: forall (m :: Type) (t :: WrappedMonoid (m :: Type)). Sing t -> Sing (Apply UnwrapMonoidSym0 t :: m) Source #
sGetDual :: forall (a :: Type) (t :: Dual (a :: Type)). Sing t -> Sing (Apply GetDualSym0 t :: a) Source #
sGetSum :: forall (a :: Type) (t :: Sum (a :: Type)). Sing t -> Sing (Apply GetSumSym0 t :: a) Source #
sGetProduct :: forall (a :: Type) (t :: Product (a :: Type)). Sing t -> Sing (Apply GetProductSym0 t :: a) Source #
Defunctionalization symbols
data (<>@#@$) :: (~>) a ((~>) a a) infixr 6 Source #
Instances
SSemigroup a => SingI ((<>@#@$) :: TyFun a (a ~> a) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SuppressUnusedWarnings ((<>@#@$) :: TyFun a (a ~> a) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<>@#@$) :: TyFun a (a ~> a) -> Type) (a6989586621679691601 :: a) Source # | |
Defined in Data.Semigroup.Singletons.Internal |
data (<>@#@$$) (a6989586621679691601 :: a) :: (~>) a a infixr 6 Source #
Instances
SSemigroup a => SingI1 ((<>@#@$$) :: a -> TyFun a a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
(SSemigroup a, SingI d) => SingI ((<>@#@$$) d :: TyFun a a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SuppressUnusedWarnings ((<>@#@$$) a6989586621679691601 :: TyFun a a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<>@#@$$) a6989586621679691601 :: TyFun a a -> Type) (a6989586621679691602 :: a) Source # | |
Defined in Data.Semigroup.Singletons.Internal |
type family (a6989586621679691601 :: a) <>@#@$$$ (a6989586621679691602 :: a) :: a where ... infixr 6 Source #
data SconcatSym0 :: (~>) (NonEmpty a) a Source #
Instances
SSemigroup a => SingI (SconcatSym0 :: TyFun (NonEmpty a) a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal sing :: Sing SconcatSym0 | |
SuppressUnusedWarnings (SconcatSym0 :: TyFun (NonEmpty a) a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (SconcatSym0 :: TyFun (NonEmpty a) a -> Type) (a6989586621679691605 :: NonEmpty a) Source # | |
Defined in Data.Semigroup.Singletons.Internal type Apply (SconcatSym0 :: TyFun (NonEmpty a) a -> Type) (a6989586621679691605 :: NonEmpty a) = Sconcat a6989586621679691605 |
type family SconcatSym1 (a6989586621679691605 :: NonEmpty a) :: a where ... Source #
SconcatSym1 a6989586621679691605 = Sconcat a6989586621679691605 |
data MinSym0 :: (~>) a (Min (a :: Type)) Source #
Instances
SingI (MinSym0 :: TyFun a (Min a) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SuppressUnusedWarnings (MinSym0 :: TyFun a (Min a) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (MinSym0 :: TyFun a (Min a) -> Type) (a6989586621679703838 :: a) Source # | |
Defined in Data.Semigroup.Singletons.Internal |
data GetMinSym0 :: (~>) (Min (a :: Type)) a Source #
Instances
SingI (GetMinSym0 :: TyFun (Min a) a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal sing :: Sing GetMinSym0 | |
SuppressUnusedWarnings (GetMinSym0 :: TyFun (Min a) a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (GetMinSym0 :: TyFun (Min a) a -> Type) (a6989586621679703841 :: Min a) Source # | |
Defined in Data.Semigroup.Singletons.Internal type Apply (GetMinSym0 :: TyFun (Min a) a -> Type) (a6989586621679703841 :: Min a) = GetMin a6989586621679703841 |
type family GetMinSym1 (a6989586621679703841 :: Min (a :: Type)) :: a where ... Source #
GetMinSym1 a6989586621679703841 = GetMin a6989586621679703841 |
data MaxSym0 :: (~>) a (Max (a :: Type)) Source #
Instances
SingI (MaxSym0 :: TyFun a (Max a) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SuppressUnusedWarnings (MaxSym0 :: TyFun a (Max a) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (MaxSym0 :: TyFun a (Max a) -> Type) (a6989586621679703857 :: a) Source # | |
Defined in Data.Semigroup.Singletons.Internal |
data GetMaxSym0 :: (~>) (Max (a :: Type)) a Source #
Instances
SingI (GetMaxSym0 :: TyFun (Max a) a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal sing :: Sing GetMaxSym0 | |
SuppressUnusedWarnings (GetMaxSym0 :: TyFun (Max a) a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (GetMaxSym0 :: TyFun (Max a) a -> Type) (a6989586621679703860 :: Max a) Source # | |
Defined in Data.Semigroup.Singletons.Internal type Apply (GetMaxSym0 :: TyFun (Max a) a -> Type) (a6989586621679703860 :: Max a) = GetMax a6989586621679703860 |
type family GetMaxSym1 (a6989586621679703860 :: Max (a :: Type)) :: a where ... Source #
GetMaxSym1 a6989586621679703860 = GetMax a6989586621679703860 |
data FirstSym0 :: (~>) a (First (a :: Type)) Source #
Instances
SingI (FirstSym0 :: TyFun a (First a) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SuppressUnusedWarnings (FirstSym0 :: TyFun a (First a) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (FirstSym0 :: TyFun a (First a) -> Type) (a6989586621679703876 :: a) Source # | |
Defined in Data.Semigroup.Singletons.Internal |
data GetFirstSym0 :: (~>) (First (a :: Type)) a Source #
Instances
SingI (GetFirstSym0 :: TyFun (First a) a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal sing :: Sing GetFirstSym0 | |
SuppressUnusedWarnings (GetFirstSym0 :: TyFun (First a) a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (GetFirstSym0 :: TyFun (First a) a -> Type) (a6989586621679703879 :: First a) Source # | |
Defined in Data.Semigroup.Singletons.Internal type Apply (GetFirstSym0 :: TyFun (First a) a -> Type) (a6989586621679703879 :: First a) = GetFirst a6989586621679703879 |
type family GetFirstSym1 (a6989586621679703879 :: First (a :: Type)) :: a where ... Source #
GetFirstSym1 a6989586621679703879 = GetFirst a6989586621679703879 |
data LastSym0 :: (~>) a (Last (a :: Type)) Source #
Instances
SingI (LastSym0 :: TyFun a (Last a) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SuppressUnusedWarnings (LastSym0 :: TyFun a (Last a) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (LastSym0 :: TyFun a (Last a) -> Type) (a6989586621679703895 :: a) Source # | |
Defined in Data.Semigroup.Singletons.Internal |
data GetLastSym0 :: (~>) (Last (a :: Type)) a Source #
Instances
SingI (GetLastSym0 :: TyFun (Last a) a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal sing :: Sing GetLastSym0 | |
SuppressUnusedWarnings (GetLastSym0 :: TyFun (Last a) a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (GetLastSym0 :: TyFun (Last a) a -> Type) (a6989586621679703898 :: Last a) Source # | |
Defined in Data.Semigroup.Singletons.Internal type Apply (GetLastSym0 :: TyFun (Last a) a -> Type) (a6989586621679703898 :: Last a) = GetLast a6989586621679703898 |
type family GetLastSym1 (a6989586621679703898 :: Last (a :: Type)) :: a where ... Source #
GetLastSym1 a6989586621679703898 = GetLast a6989586621679703898 |
data WrapMonoidSym0 :: (~>) m (WrappedMonoid (m :: Type)) Source #
Instances
SingI (WrapMonoidSym0 :: TyFun m (WrappedMonoid m) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SuppressUnusedWarnings (WrapMonoidSym0 :: TyFun m (WrappedMonoid m) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (WrapMonoidSym0 :: TyFun m (WrappedMonoid m) -> Type) (a6989586621679703914 :: m) Source # | |
Defined in Data.Semigroup.Singletons.Internal type Apply (WrapMonoidSym0 :: TyFun m (WrappedMonoid m) -> Type) (a6989586621679703914 :: m) = 'WrapMonoid a6989586621679703914 |
type family WrapMonoidSym1 (a6989586621679703914 :: m) :: WrappedMonoid (m :: Type) where ... Source #
WrapMonoidSym1 a6989586621679703914 = 'WrapMonoid a6989586621679703914 |
data UnwrapMonoidSym0 :: (~>) (WrappedMonoid (m :: Type)) m Source #
Instances
SingI (UnwrapMonoidSym0 :: TyFun (WrappedMonoid m) m -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SuppressUnusedWarnings (UnwrapMonoidSym0 :: TyFun (WrappedMonoid m) m -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (UnwrapMonoidSym0 :: TyFun (WrappedMonoid m) m -> Type) (a6989586621679703917 :: WrappedMonoid m) Source # | |
Defined in Data.Semigroup.Singletons.Internal type Apply (UnwrapMonoidSym0 :: TyFun (WrappedMonoid m) m -> Type) (a6989586621679703917 :: WrappedMonoid m) = UnwrapMonoid a6989586621679703917 |
type family UnwrapMonoidSym1 (a6989586621679703917 :: WrappedMonoid (m :: Type)) :: m where ... Source #
UnwrapMonoidSym1 a6989586621679703917 = UnwrapMonoid a6989586621679703917 |
data DualSym0 :: (~>) a (Dual (a :: Type)) Source #
Instances
SingI (DualSym0 :: TyFun a (Dual a) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SuppressUnusedWarnings (DualSym0 :: TyFun a (Dual a) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (DualSym0 :: TyFun a (Dual a) -> Type) (a6989586621679703748 :: a) Source # | |
Defined in Data.Semigroup.Singletons.Internal |
data GetDualSym0 :: (~>) (Dual (a :: Type)) a Source #
Instances
SingI (GetDualSym0 :: TyFun (Dual a) a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal sing :: Sing GetDualSym0 | |
SuppressUnusedWarnings (GetDualSym0 :: TyFun (Dual a) a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (GetDualSym0 :: TyFun (Dual a) a -> Type) (a6989586621679703751 :: Dual a) Source # | |
Defined in Data.Semigroup.Singletons.Internal type Apply (GetDualSym0 :: TyFun (Dual a) a -> Type) (a6989586621679703751 :: Dual a) = GetDual a6989586621679703751 |
type family GetDualSym1 (a6989586621679703751 :: Dual (a :: Type)) :: a where ... Source #
GetDualSym1 a6989586621679703751 = GetDual a6989586621679703751 |
data AllSym0 :: (~>) Bool All Source #
Instances
SingI AllSym0 Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SuppressUnusedWarnings AllSym0 Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply AllSym0 (a6989586621679703765 :: Bool) Source # | |
Defined in Data.Semigroup.Singletons.Internal |
data GetAllSym0 :: (~>) All Bool Source #
Instances
SingI GetAllSym0 Source # | |
Defined in Data.Semigroup.Singletons.Internal sing :: Sing GetAllSym0 | |
SuppressUnusedWarnings GetAllSym0 Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply GetAllSym0 (a6989586621679703768 :: All) Source # | |
Defined in Data.Semigroup.Singletons.Internal |
type family GetAllSym1 (a6989586621679703768 :: All) :: Bool where ... Source #
GetAllSym1 a6989586621679703768 = GetAll a6989586621679703768 |
data AnySym0 :: (~>) Bool Any Source #
Instances
SingI AnySym0 Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SuppressUnusedWarnings AnySym0 Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply AnySym0 (a6989586621679703781 :: Bool) Source # | |
Defined in Data.Semigroup.Singletons.Internal |
data GetAnySym0 :: (~>) Any Bool Source #
Instances
SingI GetAnySym0 Source # | |
Defined in Data.Semigroup.Singletons.Internal sing :: Sing GetAnySym0 | |
SuppressUnusedWarnings GetAnySym0 Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply GetAnySym0 (a6989586621679703784 :: Any) Source # | |
Defined in Data.Semigroup.Singletons.Internal |
type family GetAnySym1 (a6989586621679703784 :: Any) :: Bool where ... Source #
GetAnySym1 a6989586621679703784 = GetAny a6989586621679703784 |
data SumSym0 :: (~>) a (Sum (a :: Type)) Source #
Instances
SingI (SumSym0 :: TyFun a (Sum a) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SuppressUnusedWarnings (SumSym0 :: TyFun a (Sum a) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (SumSym0 :: TyFun a (Sum a) -> Type) (a6989586621679703800 :: a) Source # | |
Defined in Data.Semigroup.Singletons.Internal |
data GetSumSym0 :: (~>) (Sum (a :: Type)) a Source #
Instances
SingI (GetSumSym0 :: TyFun (Sum a) a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal sing :: Sing GetSumSym0 | |
SuppressUnusedWarnings (GetSumSym0 :: TyFun (Sum a) a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (GetSumSym0 :: TyFun (Sum a) a -> Type) (a6989586621679703803 :: Sum a) Source # | |
Defined in Data.Semigroup.Singletons.Internal type Apply (GetSumSym0 :: TyFun (Sum a) a -> Type) (a6989586621679703803 :: Sum a) = GetSum a6989586621679703803 |
type family GetSumSym1 (a6989586621679703803 :: Sum (a :: Type)) :: a where ... Source #
GetSumSym1 a6989586621679703803 = GetSum a6989586621679703803 |
data ProductSym0 :: (~>) a (Product (a :: Type)) Source #
Instances
SingI (ProductSym0 :: TyFun a (Product a) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal sing :: Sing ProductSym0 | |
SuppressUnusedWarnings (ProductSym0 :: TyFun a (Product a) -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (ProductSym0 :: TyFun a (Product a) -> Type) (a6989586621679703819 :: a) Source # | |
Defined in Data.Semigroup.Singletons.Internal type Apply (ProductSym0 :: TyFun a (Product a) -> Type) (a6989586621679703819 :: a) = 'Product a6989586621679703819 |
type family ProductSym1 (a6989586621679703819 :: a) :: Product (a :: Type) where ... Source #
ProductSym1 a6989586621679703819 = 'Product a6989586621679703819 |
data GetProductSym0 :: (~>) (Product (a :: Type)) a Source #
Instances
SingI (GetProductSym0 :: TyFun (Product a) a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
SuppressUnusedWarnings (GetProductSym0 :: TyFun (Product a) a -> Type) Source # | |
Defined in Data.Semigroup.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (GetProductSym0 :: TyFun (Product a) a -> Type) (a6989586621679703822 :: Product a) Source # | |
Defined in Data.Semigroup.Singletons.Internal type Apply (GetProductSym0 :: TyFun (Product a) a -> Type) (a6989586621679703822 :: Product a) = GetProduct a6989586621679703822 |
type family GetProductSym1 (a6989586621679703822 :: Product (a :: Type)) :: a where ... Source #
GetProductSym1 a6989586621679703822 = GetProduct a6989586621679703822 |
data ArgSym0 :: (~>) a ((~>) b (Arg (a :: Type) (b :: Type))) Source #
Instances
SingI (ArgSym0 :: TyFun a (b ~> Arg a b) -> Type) Source # | |
Defined in Data.Semigroup.Singletons | |
SuppressUnusedWarnings (ArgSym0 :: TyFun a (b ~> Arg a b) -> Type) Source # | |
Defined in Data.Semigroup.Singletons suppressUnusedWarnings :: () # | |
type Apply (ArgSym0 :: TyFun a (b ~> Arg a b) -> Type) (a6989586621680925738 :: a) Source # | |
data ArgSym1 (a6989586621680925738 :: a) :: (~>) b (Arg (a :: Type) (b :: Type)) Source #
Instances
SingI1 (ArgSym1 :: a -> TyFun b (Arg a b) -> Type) Source # | |
Defined in Data.Semigroup.Singletons | |
SingI d => SingI (ArgSym1 d :: TyFun b (Arg a b) -> Type) Source # | |
Defined in Data.Semigroup.Singletons | |
SuppressUnusedWarnings (ArgSym1 a6989586621680925738 :: TyFun b (Arg a b) -> Type) Source # | |
Defined in Data.Semigroup.Singletons suppressUnusedWarnings :: () # | |
type Apply (ArgSym1 a6989586621680925738 :: TyFun b (Arg a b) -> Type) (a6989586621680925739 :: b) Source # | |
Defined in Data.Semigroup.Singletons |
type family ArgSym2 (a6989586621680925738 :: a) (a6989586621680925739 :: b) :: Arg (a :: Type) (b :: Type) where ... Source #
Orphan instances
PApplicative First Source # | |
PApplicative Last Source # | |
PApplicative Max Source # | |
PApplicative Min Source # | |
PFunctor First Source # | |
PFunctor Last Source # | |
PFunctor Max Source # | |
PFunctor Min Source # | |
PMonad First Source # | |
PMonad Last Source # | |
PMonad Max Source # | |
PMonad Min Source # | |
SApplicative First Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
SFunctor First Source # | |
SFunctor Last Source # | |
SFunctor Max Source # | |
SFunctor Min Source # | |
SMonad First Source # | |
(%>>=) :: forall a b (t1 :: First a) (t2 :: a ~> 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 # sReturn :: forall a (t :: a). Sing t -> Sing (Apply ReturnSym0 t) Source # | |
SMonad Last Source # | |
(%>>=) :: forall a b (t1 :: Last a) (t2 :: a ~> 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 # sReturn :: forall a (t :: a). Sing t -> Sing (Apply ReturnSym0 t) Source # | |
SMonad Max Source # | |
(%>>=) :: forall a b (t1 :: Max a) (t2 :: a ~> 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 # sReturn :: forall a (t :: a). Sing t -> Sing (Apply ReturnSym0 t) Source # | |
SMonad Min Source # | |
(%>>=) :: forall a b (t1 :: Min a) (t2 :: a ~> 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 # sReturn :: forall a (t :: a). Sing t -> Sing (Apply ReturnSym0 t) Source # | |
PFoldable First Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
SFoldable First Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
PTraversable First Source # | |
PTraversable Last Source # | |
PTraversable Max Source # | |
PTraversable Min Source # | |
STraversable First Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
PShow All Source # | |
PShow Any Source # | |
SShow Bool => SShow All Source # | |
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 # | |
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 # | |
SingI2 ('Arg :: k1 -> k2 -> Arg k1 k2) Source # | |
SingI n => SingI1 ('Arg n :: k1 -> Arg a k1) Source # | |
ShowSing Bool => Show (SAll z) Source # | |
ShowSing Bool => Show (SAny z) Source # | |
PFunctor (Arg a) Source # | |
SFunctor (Arg a) Source # | |
PFoldable (Arg a) Source # | |
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 # | |
SFoldable (Arg a) Source # | |
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 # | |
PMonoid (Max a) Source # | |
PMonoid (Min a) Source # | |
PMonoid (WrappedMonoid m) Source # | |
(SOrd a, SBounded a) => SMonoid (Max a) Source # | |
(SOrd a, SBounded a) => SMonoid (Min a) Source # | |
SMonoid m => SMonoid (WrappedMonoid m) Source # | |
sMempty :: Sing MemptySym0 Source # sMappend :: forall (t1 :: WrappedMonoid m) (t2 :: WrappedMonoid m). Sing t1 -> Sing t2 -> Sing (Apply (Apply MappendSym0 t1) t2) Source # sMconcat :: forall (t :: [WrappedMonoid m]). Sing t -> Sing (Apply MconcatSym0 t) Source # | |
PSemigroup (First a) Source # | |
PSemigroup (Last a) Source # | |
PSemigroup (Max a) Source # | |
PSemigroup (Min a) Source # | |
PSemigroup (WrappedMonoid m) Source # | |
SSemigroup (First a) Source # | |
SSemigroup (Last a) Source # | |
SOrd a => SSemigroup (Max a) Source # | |
SOrd a => SSemigroup (Min a) Source # | |
SMonoid m => SSemigroup (WrappedMonoid m) Source # | |
(%<>) :: forall (t1 :: WrappedMonoid m) (t2 :: WrappedMonoid m). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<>@#@$) t1) t2) Source # sSconcat :: forall (t :: NonEmpty (WrappedMonoid m)). Sing t -> Sing (Apply SconcatSym0 t) Source # | |
PEnum (First a) Source # | |
PEnum (Last a) Source # | |
PEnum (Max a) Source # | |
PEnum (Min a) Source # | |
PEnum (WrappedMonoid a) Source # | |
SEnum a => SEnum (First a) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
PTraversable (Arg a) Source # | |
STraversable (Arg a) Source # | |
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 # | |
PNum (Max a) Source # | |
PNum (Min a) Source # | |
SNum a => SNum (Max a) 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 # sNegate :: forall (t :: Max a). Sing t -> Sing (Apply NegateSym0 t) Source # sAbs :: forall (t :: Max a). Sing t -> Sing (Apply AbsSym0 t) Source # sSignum :: forall (t :: Max a). Sing t -> Sing (Apply SignumSym0 t) Source # sFromInteger :: forall (t :: Natural). Sing t -> Sing (Apply FromIntegerSym0 t) Source # | |
SNum a => SNum (Min a) 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 # sNegate :: forall (t :: Min a). Sing t -> Sing (Apply NegateSym0 t) Source # sAbs :: forall (t :: Min a). Sing t -> Sing (Apply AbsSym0 t) Source # sSignum :: forall (t :: Min a). Sing t -> Sing (Apply SignumSym0 t) Source # sFromInteger :: forall (t :: Natural). Sing t -> Sing (Apply FromIntegerSym0 t) 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 # | |
SShow a => SShow (First a) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
ShowSing a => Show (SDual z) Source # | |
ShowSing a => Show (SFirst z) Source # | |
ShowSing a => Show (SLast z) Source # | |
ShowSing a => Show (SMax z) Source # | |
ShowSing a => Show (SMin z) Source # | |
ShowSing a => Show (SProduct z) Source # | |
ShowSing a => Show (SSum z) Source # | |
ShowSing m => Show (SWrappedMonoid z) Source # | |
showsPrec :: Int -> SWrappedMonoid z -> ShowS # show :: SWrappedMonoid z -> String # showList :: [SWrappedMonoid z] -> ShowS # | |
(SingKind a, SingKind b) => SingKind (Arg a b) Source # | |
PEq (Arg a b) Source # | |
SEq a => SEq (Arg a b) Source # | |
POrd (Arg a b) Source # | |
SOrd a => SOrd (Arg a b) Source # | |
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 # | |
PShow (Arg a b) Source # | |
(SShow a, SShow b) => SShow (Arg a b) Source # | |
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 # | |
(SingI n, SingI n) => SingI ('Arg n n :: Arg a b) Source # | |