Copyright | (C) 2018 Ryan Scott |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Ryan Scott |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Data.Singletons.Prelude.Semigroup
Description
Defines the promoted version of Semigroup
, PSemigroup
, and the
singleton version, SSemigroup
.
Synopsis
- class PSemigroup (a :: Type) where
- class SSemigroup a where
- type family Sing :: k -> Type
- data SMin :: forall a. Min a -> Type where
- data SMax :: forall a. Max a -> Type where
- data SFirst :: forall a. First a -> Type where
- data SLast :: forall a. Last a -> Type where
- data SWrappedMonoid :: forall m. WrappedMonoid m -> Type where
- SWrapMonoid :: forall m (n :: m). {..} -> SWrappedMonoid ('WrapMonoid n)
- data SDual :: forall a. Dual a -> Type where
- data SAll :: All -> Type where
- data SAny :: Any -> Type where
- data SSum :: forall a. Sum a -> Type where
- data SProduct :: forall a. Product a -> Type where
- data SOption :: forall a. Option a -> Type where
- data SArg :: forall a b. 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 ...
- type family GetOption (a :: Option (a :: Type)) :: Maybe a where ...
- option_ :: b -> (a -> b) -> Option a -> b
- sOption_ :: forall b a (t :: b) (t :: (~>) a b) (t :: Option a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Option_Sym0 t) t) t :: b)
- type family Option_ (a :: b) (a :: (~>) a b) (a :: Option a) :: b where ...
- data (<>@#@$) :: forall a6989586621679836738. (~>) a6989586621679836738 ((~>) a6989586621679836738 a6989586621679836738)
- data (<>@#@$$) (arg6989586621679836973 :: a6989586621679836738) :: (~>) a6989586621679836738 a6989586621679836738
- type (<>@#@$$$) (arg6989586621679836973 :: a6989586621679836738) (arg6989586621679836974 :: a6989586621679836738) = (<>) arg6989586621679836973 arg6989586621679836974
- data SconcatSym0 :: forall a6989586621679836738. (~>) (NonEmpty a6989586621679836738) a6989586621679836738
- type SconcatSym1 (arg6989586621679836977 :: NonEmpty a6989586621679836738) = Sconcat arg6989586621679836977
- data MinSym0 :: forall (a6989586621679059332 :: Type). (~>) a6989586621679059332 (Min (a6989586621679059332 :: Type))
- type MinSym1 (t6989586621679846358 :: a6989586621679059332) = 'Min t6989586621679846358
- data GetMinSym0 :: forall (a6989586621679059332 :: Type). (~>) (Min (a6989586621679059332 :: Type)) a6989586621679059332
- type GetMinSym1 (a6989586621679846355 :: Min (a6989586621679059332 :: Type)) = GetMin a6989586621679846355
- data MaxSym0 :: forall (a6989586621679059336 :: Type). (~>) a6989586621679059336 (Max (a6989586621679059336 :: Type))
- type MaxSym1 (t6989586621679846377 :: a6989586621679059336) = 'Max t6989586621679846377
- data GetMaxSym0 :: forall (a6989586621679059336 :: Type). (~>) (Max (a6989586621679059336 :: Type)) a6989586621679059336
- type GetMaxSym1 (a6989586621679846374 :: Max (a6989586621679059336 :: Type)) = GetMax a6989586621679846374
- data FirstSym0 :: forall (a6989586621679059344 :: Type). (~>) a6989586621679059344 (First (a6989586621679059344 :: Type))
- type FirstSym1 (t6989586621679846396 :: a6989586621679059344) = 'First t6989586621679846396
- data GetFirstSym0 :: forall (a6989586621679059344 :: Type). (~>) (First (a6989586621679059344 :: Type)) a6989586621679059344
- type GetFirstSym1 (a6989586621679846393 :: First (a6989586621679059344 :: Type)) = GetFirst a6989586621679846393
- data LastSym0 :: forall (a6989586621679059340 :: Type). (~>) a6989586621679059340 (Last (a6989586621679059340 :: Type))
- type LastSym1 (t6989586621679846415 :: a6989586621679059340) = 'Last t6989586621679846415
- data GetLastSym0 :: forall (a6989586621679059340 :: Type). (~>) (Last (a6989586621679059340 :: Type)) a6989586621679059340
- type GetLastSym1 (a6989586621679846412 :: Last (a6989586621679059340 :: Type)) = GetLast a6989586621679846412
- data WrapMonoidSym0 :: forall (m6989586621679085882 :: Type). (~>) m6989586621679085882 (WrappedMonoid (m6989586621679085882 :: Type))
- type WrapMonoidSym1 (t6989586621679846434 :: m6989586621679085882) = 'WrapMonoid t6989586621679846434
- data UnwrapMonoidSym0 :: forall (m6989586621679085882 :: Type). (~>) (WrappedMonoid (m6989586621679085882 :: Type)) m6989586621679085882
- type UnwrapMonoidSym1 (a6989586621679846431 :: WrappedMonoid (m6989586621679085882 :: Type)) = UnwrapMonoid a6989586621679846431
- data DualSym0 :: forall (a6989586621679082614 :: Type). (~>) a6989586621679082614 (Dual (a6989586621679082614 :: Type))
- type DualSym1 (t6989586621679846273 :: a6989586621679082614) = 'Dual t6989586621679846273
- data GetDualSym0 :: forall (a6989586621679082614 :: Type). (~>) (Dual (a6989586621679082614 :: Type)) a6989586621679082614
- type GetDualSym1 (a6989586621679846270 :: Dual (a6989586621679082614 :: Type)) = GetDual a6989586621679846270
- data AllSym0 :: (~>) Bool All
- type AllSym1 (t6989586621679846287 :: Bool) = 'All t6989586621679846287
- data GetAllSym0 :: (~>) All Bool
- type GetAllSym1 (a6989586621679846284 :: All) = GetAll a6989586621679846284
- data AnySym0 :: (~>) Bool Any
- type AnySym1 (t6989586621679846301 :: Bool) = 'Any t6989586621679846301
- data GetAnySym0 :: (~>) Any Bool
- type GetAnySym1 (a6989586621679846298 :: Any) = GetAny a6989586621679846298
- data SumSym0 :: forall (a6989586621679082599 :: Type). (~>) a6989586621679082599 (Sum (a6989586621679082599 :: Type))
- type SumSym1 (t6989586621679846320 :: a6989586621679082599) = 'Sum t6989586621679846320
- data GetSumSym0 :: forall (a6989586621679082599 :: Type). (~>) (Sum (a6989586621679082599 :: Type)) a6989586621679082599
- type GetSumSym1 (a6989586621679846317 :: Sum (a6989586621679082599 :: Type)) = GetSum a6989586621679846317
- data ProductSym0 :: forall (a6989586621679082604 :: Type). (~>) a6989586621679082604 (Product (a6989586621679082604 :: Type))
- type ProductSym1 (t6989586621679846339 :: a6989586621679082604) = 'Product t6989586621679846339
- data GetProductSym0 :: forall (a6989586621679082604 :: Type). (~>) (Product (a6989586621679082604 :: Type)) a6989586621679082604
- type GetProductSym1 (a6989586621679846336 :: Product (a6989586621679082604 :: Type)) = GetProduct a6989586621679846336
- data OptionSym0 :: forall (a6989586621679059328 :: Type). (~>) (Maybe a6989586621679059328) (Option (a6989586621679059328 :: Type))
- type OptionSym1 (t6989586621679846254 :: Maybe a6989586621679059328) = 'Option t6989586621679846254
- data GetOptionSym0 :: forall (a6989586621679059328 :: Type). (~>) (Option (a6989586621679059328 :: Type)) (Maybe a6989586621679059328)
- type GetOptionSym1 (a6989586621679846251 :: Option (a6989586621679059328 :: Type)) = GetOption a6989586621679846251
- data ArgSym0 :: forall (a6989586621679060360 :: Type) (b6989586621679060361 :: Type). (~>) a6989586621679060360 ((~>) b6989586621679060361 (Arg (a6989586621679060360 :: Type) (b6989586621679060361 :: Type)))
- data ArgSym1 (t6989586621680911723 :: a6989586621679060360 :: Type) :: forall (b6989586621679060361 :: Type). (~>) b6989586621679060361 (Arg (a6989586621679060360 :: Type) (b6989586621679060361 :: Type))
- type ArgSym2 (t6989586621680911723 :: a6989586621679060360) (t6989586621680911724 :: b6989586621679060361) = 'Arg t6989586621680911723 t6989586621680911724
Documentation
class PSemigroup (a :: Type) Source #
Instances
PSemigroup Ordering Source # | |
PSemigroup Symbol Source # | |
PSemigroup () Source # | |
PSemigroup Void Source # | |
PSemigroup All Source # | |
PSemigroup Any Source # | |
PSemigroup [a] Source # | |
PSemigroup (Maybe a) Source # | |
PSemigroup (NonEmpty a) Source # | |
PSemigroup (Down a) Source # | |
PSemigroup (Identity a) Source # | |
PSemigroup (First a) Source # | |
PSemigroup (Last a) Source # | |
PSemigroup (Max a) Source # | |
PSemigroup (Min a) Source # | |
PSemigroup (Option a) Source # | |
PSemigroup (WrappedMonoid m) Source # | |
PSemigroup (Dual a) Source # | |
PSemigroup (Product a) Source # | |
PSemigroup (Sum a) Source # | |
PSemigroup (First a) Source # | |
PSemigroup (Last a) Source # | |
PSemigroup (Either a b) Source # | |
PSemigroup (a, b) Source # | |
PSemigroup (a ~> b) Source # | |
PSemigroup (a, b, c) Source # | |
PSemigroup (Const a b) Source # | |
PSemigroup (a, b, c, d) Source # | |
PSemigroup (a, b, c, d, e) Source # | |
class SSemigroup a where Source #
Minimal complete definition
Methods
(%<>) :: 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_6989586621679836980Sym0 t => Sing t -> Sing (Apply SconcatSym0 t :: a) Source #
Instances
type family Sing :: k -> Type Source #
The singleton kind-indexed type family.
Instances
data SMin :: forall a. Min a -> Type where Source #
Instances
SDecide a => TestCoercion (SMin :: Min a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testCoercion :: forall (a0 :: k) (b :: k). SMin a0 -> SMin b -> Maybe (Coercion a0 b) | |
SDecide a => TestEquality (SMin :: Min a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testEquality :: forall (a0 :: k) (b :: k). SMin a0 -> SMin b -> Maybe (a0 :~: b) | |
ShowSing a => Show (SMin z) | |
data SMax :: forall a. Max a -> Type where Source #
Instances
SDecide a => TestCoercion (SMax :: Max a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testCoercion :: forall (a0 :: k) (b :: k). SMax a0 -> SMax b -> Maybe (Coercion a0 b) | |
SDecide a => TestEquality (SMax :: Max a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testEquality :: forall (a0 :: k) (b :: k). SMax a0 -> SMax b -> Maybe (a0 :~: b) | |
ShowSing a => Show (SMax z) | |
data SFirst :: forall a. First a -> Type where Source #
Constructors
SFirst | |
Instances
SDecide a => TestCoercion (SFirst :: First a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testCoercion :: forall (a0 :: k) (b :: k). SFirst a0 -> SFirst b -> Maybe (Coercion a0 b) | |
SDecide a => TestEquality (SFirst :: First a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testEquality :: forall (a0 :: k) (b :: k). SFirst a0 -> SFirst b -> Maybe (a0 :~: b) | |
ShowSing a => Show (SFirst z) | |
data SLast :: forall a. Last a -> Type where Source #
Instances
SDecide a => TestCoercion (SLast :: Last a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testCoercion :: forall (a0 :: k) (b :: k). SLast a0 -> SLast b -> Maybe (Coercion a0 b) | |
SDecide a => TestEquality (SLast :: Last a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testEquality :: forall (a0 :: k) (b :: k). SLast a0 -> SLast b -> Maybe (a0 :~: b) | |
ShowSing a => Show (SLast z) | |
data SWrappedMonoid :: forall m. WrappedMonoid m -> Type where Source #
Constructors
SWrapMonoid | |
Fields
|
Instances
SDecide m => TestCoercion (SWrappedMonoid :: WrappedMonoid m -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods 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.Singletons.Prelude.Semigroup.Internal Methods testEquality :: forall (a :: k) (b :: k). SWrappedMonoid a -> SWrappedMonoid b -> Maybe (a :~: b) | |
ShowSing m => Show (SWrappedMonoid z) | |
Defined in Data.Singletons.Prelude.Semigroup Methods showsPrec :: Int -> SWrappedMonoid z -> ShowS show :: SWrappedMonoid z -> String showList :: [SWrappedMonoid z] -> ShowS |
data SDual :: forall a. Dual a -> Type where Source #
Instances
SDecide a => TestCoercion (SDual :: Dual a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testCoercion :: forall (a0 :: k) (b :: k). SDual a0 -> SDual b -> Maybe (Coercion a0 b) | |
SDecide a => TestEquality (SDual :: Dual a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testEquality :: forall (a0 :: k) (b :: k). SDual a0 -> SDual b -> Maybe (a0 :~: b) | |
ShowSing a => Show (SDual z) | |
data SAll :: All -> Type where Source #
Instances
SDecide Bool => TestCoercion SAll Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testCoercion :: forall (a :: k) (b :: k). SAll a -> SAll b -> Maybe (Coercion a b) | |
SDecide Bool => TestEquality SAll Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testEquality :: forall (a :: k) (b :: k). SAll a -> SAll b -> Maybe (a :~: b) | |
ShowSing Bool => Show (SAll z) | |
data SAny :: Any -> Type where Source #
Instances
SDecide Bool => TestCoercion SAny Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testCoercion :: forall (a :: k) (b :: k). SAny a -> SAny b -> Maybe (Coercion a b) | |
SDecide Bool => TestEquality SAny Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testEquality :: forall (a :: k) (b :: k). SAny a -> SAny b -> Maybe (a :~: b) | |
ShowSing Bool => Show (SAny z) | |
data SSum :: forall a. Sum a -> Type where Source #
Instances
SDecide a => TestCoercion (SSum :: Sum a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testCoercion :: forall (a0 :: k) (b :: k). SSum a0 -> SSum b -> Maybe (Coercion a0 b) | |
SDecide a => TestEquality (SSum :: Sum a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testEquality :: forall (a0 :: k) (b :: k). SSum a0 -> SSum b -> Maybe (a0 :~: b) | |
ShowSing a => Show (SSum z) | |
data SProduct :: forall a. Product a -> Type where Source #
Constructors
SProduct | |
Fields
|
Instances
SDecide a => TestCoercion (SProduct :: Product a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testCoercion :: forall (a0 :: k) (b :: k). SProduct a0 -> SProduct b -> Maybe (Coercion a0 b) | |
SDecide a => TestEquality (SProduct :: Product a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testEquality :: forall (a0 :: k) (b :: k). SProduct a0 -> SProduct b -> Maybe (a0 :~: b) | |
ShowSing a => Show (SProduct z) | |
data SOption :: forall a. Option a -> Type where Source #
Constructors
SOption | |
Fields
|
Instances
SDecide (Maybe a) => TestCoercion (SOption :: Option a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testCoercion :: forall (a0 :: k) (b :: k). SOption a0 -> SOption b -> Maybe (Coercion a0 b) | |
SDecide (Maybe a) => TestEquality (SOption :: Option a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods testEquality :: forall (a0 :: k) (b :: k). SOption a0 -> SOption b -> Maybe (a0 :~: b) | |
ShowSing (Maybe a) => Show (SOption z) | |
type family GetMin (a :: Min (a :: Type)) :: a where ... Source #
Equations
GetMin ('Min field) = field |
type family GetMax (a :: Max (a :: Type)) :: a where ... Source #
Equations
GetMax ('Max field) = field |
type family GetFirst (a :: First (a :: Type)) :: a where ... Source #
Equations
GetFirst ('First field) = field |
type family GetLast (a :: Last (a :: Type)) :: a where ... Source #
Equations
GetLast ('Last field) = field |
type family UnwrapMonoid (a :: WrappedMonoid (m :: Type)) :: m where ... Source #
Equations
UnwrapMonoid ('WrapMonoid field) = field |
type family GetDual (a :: Dual (a :: Type)) :: a where ... Source #
Equations
GetDual ('Dual field) = field |
type family GetSum (a :: Sum (a :: Type)) :: a where ... Source #
Equations
GetSum ('Sum field) = field |
type family GetProduct (a :: Product (a :: Type)) :: a where ... Source #
Equations
GetProduct ('Product field) = field |
type family GetOption (a :: Option (a :: Type)) :: Maybe a where ... Source #
Equations
GetOption ('Option field) = field |
sOption_ :: forall b a (t :: b) (t :: (~>) a b) (t :: Option a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Option_Sym0 t) t) t :: b) Source #
type family Option_ (a :: b) (a :: (~>) a b) (a :: Option a) :: b where ... Source #
Equations
Option_ n j ('Option m) = Apply (Apply (Apply Maybe_Sym0 n) j) m |
Defunctionalization symbols
data (<>@#@$) :: forall a6989586621679836738. (~>) a6989586621679836738 ((~>) a6989586621679836738 a6989586621679836738) infixr 6 Source #
Instances
SSemigroup a => SingI ((<>@#@$) :: TyFun a (a ~> a) -> Type) Source # | |
SuppressUnusedWarnings ((<>@#@$) :: TyFun a6989586621679836738 (a6989586621679836738 ~> a6989586621679836738) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply ((<>@#@$) :: TyFun a6989586621679836738 (a6989586621679836738 ~> a6989586621679836738) -> Type) (arg6989586621679836973 :: a6989586621679836738) Source # | |
data (<>@#@$$) (arg6989586621679836973 :: a6989586621679836738) :: (~>) a6989586621679836738 a6989586621679836738 infixr 6 Source #
Instances
(SSemigroup a, SingI d) => SingI ((<>@#@$$) d :: TyFun a a -> Type) Source # | |
SuppressUnusedWarnings ((<>@#@$$) arg6989586621679836973 :: TyFun a6989586621679836738 a6989586621679836738 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply ((<>@#@$$) arg6989586621679836973 :: TyFun a a -> Type) (arg6989586621679836974 :: a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal |
type (<>@#@$$$) (arg6989586621679836973 :: a6989586621679836738) (arg6989586621679836974 :: a6989586621679836738) = (<>) arg6989586621679836973 arg6989586621679836974 Source #
data SconcatSym0 :: forall a6989586621679836738. (~>) (NonEmpty a6989586621679836738) a6989586621679836738 Source #
Instances
SSemigroup a => SingI (SconcatSym0 :: TyFun (NonEmpty a) a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods sing :: Sing SconcatSym0 Source # | |
SuppressUnusedWarnings (SconcatSym0 :: TyFun (NonEmpty a6989586621679836738) a6989586621679836738 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (SconcatSym0 :: TyFun (NonEmpty a) a -> Type) (arg6989586621679836977 :: NonEmpty a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (SconcatSym0 :: TyFun (NonEmpty a) a -> Type) (arg6989586621679836977 :: NonEmpty a) = Sconcat arg6989586621679836977 |
type SconcatSym1 (arg6989586621679836977 :: NonEmpty a6989586621679836738) = Sconcat arg6989586621679836977 Source #
data MinSym0 :: forall (a6989586621679059332 :: Type). (~>) a6989586621679059332 (Min (a6989586621679059332 :: Type)) Source #
Instances
SingI (MinSym0 :: TyFun a (Min a) -> Type) Source # | |
SuppressUnusedWarnings (MinSym0 :: TyFun a6989586621679059332 (Min a6989586621679059332) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (MinSym0 :: TyFun a (Min a) -> Type) (t6989586621679846358 :: a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal |
data GetMinSym0 :: forall (a6989586621679059332 :: Type). (~>) (Min (a6989586621679059332 :: Type)) a6989586621679059332 Source #
Instances
SuppressUnusedWarnings (GetMinSym0 :: TyFun (Min a6989586621679059332) a6989586621679059332 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (GetMinSym0 :: TyFun (Min a) a -> Type) (a6989586621679846355 :: Min a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (GetMinSym0 :: TyFun (Min a) a -> Type) (a6989586621679846355 :: Min a) = GetMin a6989586621679846355 |
type GetMinSym1 (a6989586621679846355 :: Min (a6989586621679059332 :: Type)) = GetMin a6989586621679846355 Source #
data MaxSym0 :: forall (a6989586621679059336 :: Type). (~>) a6989586621679059336 (Max (a6989586621679059336 :: Type)) Source #
Instances
SingI (MaxSym0 :: TyFun a (Max a) -> Type) Source # | |
SuppressUnusedWarnings (MaxSym0 :: TyFun a6989586621679059336 (Max a6989586621679059336) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (MaxSym0 :: TyFun a (Max a) -> Type) (t6989586621679846377 :: a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal |
data GetMaxSym0 :: forall (a6989586621679059336 :: Type). (~>) (Max (a6989586621679059336 :: Type)) a6989586621679059336 Source #
Instances
SuppressUnusedWarnings (GetMaxSym0 :: TyFun (Max a6989586621679059336) a6989586621679059336 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (GetMaxSym0 :: TyFun (Max a) a -> Type) (a6989586621679846374 :: Max a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (GetMaxSym0 :: TyFun (Max a) a -> Type) (a6989586621679846374 :: Max a) = GetMax a6989586621679846374 |
type GetMaxSym1 (a6989586621679846374 :: Max (a6989586621679059336 :: Type)) = GetMax a6989586621679846374 Source #
data FirstSym0 :: forall (a6989586621679059344 :: Type). (~>) a6989586621679059344 (First (a6989586621679059344 :: Type)) Source #
Instances
SingI (FirstSym0 :: TyFun a (First a) -> Type) Source # | |
SuppressUnusedWarnings (FirstSym0 :: TyFun a6989586621679059344 (First a6989586621679059344) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (FirstSym0 :: TyFun a (First a) -> Type) (t6989586621679846396 :: a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal |
type FirstSym1 (t6989586621679846396 :: a6989586621679059344) = 'First t6989586621679846396 Source #
data GetFirstSym0 :: forall (a6989586621679059344 :: Type). (~>) (First (a6989586621679059344 :: Type)) a6989586621679059344 Source #
Instances
SuppressUnusedWarnings (GetFirstSym0 :: TyFun (First a6989586621679059344) a6989586621679059344 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (GetFirstSym0 :: TyFun (First a) a -> Type) (a6989586621679846393 :: First a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (GetFirstSym0 :: TyFun (First a) a -> Type) (a6989586621679846393 :: First a) = GetFirst a6989586621679846393 |
type GetFirstSym1 (a6989586621679846393 :: First (a6989586621679059344 :: Type)) = GetFirst a6989586621679846393 Source #
data LastSym0 :: forall (a6989586621679059340 :: Type). (~>) a6989586621679059340 (Last (a6989586621679059340 :: Type)) Source #
Instances
SingI (LastSym0 :: TyFun a (Last a) -> Type) Source # | |
SuppressUnusedWarnings (LastSym0 :: TyFun a6989586621679059340 (Last a6989586621679059340) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (LastSym0 :: TyFun a (Last a) -> Type) (t6989586621679846415 :: a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal |
data GetLastSym0 :: forall (a6989586621679059340 :: Type). (~>) (Last (a6989586621679059340 :: Type)) a6989586621679059340 Source #
Instances
SuppressUnusedWarnings (GetLastSym0 :: TyFun (Last a6989586621679059340) a6989586621679059340 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (GetLastSym0 :: TyFun (Last a) a -> Type) (a6989586621679846412 :: Last a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (GetLastSym0 :: TyFun (Last a) a -> Type) (a6989586621679846412 :: Last a) = GetLast a6989586621679846412 |
type GetLastSym1 (a6989586621679846412 :: Last (a6989586621679059340 :: Type)) = GetLast a6989586621679846412 Source #
data WrapMonoidSym0 :: forall (m6989586621679085882 :: Type). (~>) m6989586621679085882 (WrappedMonoid (m6989586621679085882 :: Type)) Source #
Instances
SingI (WrapMonoidSym0 :: TyFun m (WrappedMonoid m) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods | |
SuppressUnusedWarnings (WrapMonoidSym0 :: TyFun m6989586621679085882 (WrappedMonoid m6989586621679085882) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (WrapMonoidSym0 :: TyFun m (WrappedMonoid m) -> Type) (t6989586621679846434 :: m) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (WrapMonoidSym0 :: TyFun m (WrappedMonoid m) -> Type) (t6989586621679846434 :: m) = 'WrapMonoid t6989586621679846434 |
type WrapMonoidSym1 (t6989586621679846434 :: m6989586621679085882) = 'WrapMonoid t6989586621679846434 Source #
data UnwrapMonoidSym0 :: forall (m6989586621679085882 :: Type). (~>) (WrappedMonoid (m6989586621679085882 :: Type)) m6989586621679085882 Source #
Instances
SuppressUnusedWarnings (UnwrapMonoidSym0 :: TyFun (WrappedMonoid m6989586621679085882) m6989586621679085882 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (UnwrapMonoidSym0 :: TyFun (WrappedMonoid m) m -> Type) (a6989586621679846431 :: WrappedMonoid m) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (UnwrapMonoidSym0 :: TyFun (WrappedMonoid m) m -> Type) (a6989586621679846431 :: WrappedMonoid m) = UnwrapMonoid a6989586621679846431 |
type UnwrapMonoidSym1 (a6989586621679846431 :: WrappedMonoid (m6989586621679085882 :: Type)) = UnwrapMonoid a6989586621679846431 Source #
data DualSym0 :: forall (a6989586621679082614 :: Type). (~>) a6989586621679082614 (Dual (a6989586621679082614 :: Type)) Source #
Instances
SingI (DualSym0 :: TyFun a (Dual a) -> Type) Source # | |
SuppressUnusedWarnings (DualSym0 :: TyFun a6989586621679082614 (Dual a6989586621679082614) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (DualSym0 :: TyFun a (Dual a) -> Type) (t6989586621679846273 :: a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal |
data GetDualSym0 :: forall (a6989586621679082614 :: Type). (~>) (Dual (a6989586621679082614 :: Type)) a6989586621679082614 Source #
Instances
SuppressUnusedWarnings (GetDualSym0 :: TyFun (Dual a6989586621679082614) a6989586621679082614 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (GetDualSym0 :: TyFun (Dual a) a -> Type) (a6989586621679846270 :: Dual a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (GetDualSym0 :: TyFun (Dual a) a -> Type) (a6989586621679846270 :: Dual a) = GetDual a6989586621679846270 |
type GetDualSym1 (a6989586621679846270 :: Dual (a6989586621679082614 :: Type)) = GetDual a6989586621679846270 Source #
data AllSym0 :: (~>) Bool All Source #
Instances
SingI AllSym0 Source # | |
SuppressUnusedWarnings AllSym0 Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply AllSym0 (t6989586621679846287 :: Bool) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal |
data GetAllSym0 :: (~>) All Bool Source #
Instances
SuppressUnusedWarnings GetAllSym0 Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply GetAllSym0 (a6989586621679846284 :: All) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal |
type GetAllSym1 (a6989586621679846284 :: All) = GetAll a6989586621679846284 Source #
data AnySym0 :: (~>) Bool Any Source #
Instances
SingI AnySym0 Source # | |
SuppressUnusedWarnings AnySym0 Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply AnySym0 (t6989586621679846301 :: Bool) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal |
data GetAnySym0 :: (~>) Any Bool Source #
Instances
SuppressUnusedWarnings GetAnySym0 Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply GetAnySym0 (a6989586621679846298 :: Any) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal |
type GetAnySym1 (a6989586621679846298 :: Any) = GetAny a6989586621679846298 Source #
data SumSym0 :: forall (a6989586621679082599 :: Type). (~>) a6989586621679082599 (Sum (a6989586621679082599 :: Type)) Source #
Instances
SingI (SumSym0 :: TyFun a (Sum a) -> Type) Source # | |
SuppressUnusedWarnings (SumSym0 :: TyFun a6989586621679082599 (Sum a6989586621679082599) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (SumSym0 :: TyFun a (Sum a) -> Type) (t6989586621679846320 :: a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal |
data GetSumSym0 :: forall (a6989586621679082599 :: Type). (~>) (Sum (a6989586621679082599 :: Type)) a6989586621679082599 Source #
Instances
SuppressUnusedWarnings (GetSumSym0 :: TyFun (Sum a6989586621679082599) a6989586621679082599 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (GetSumSym0 :: TyFun (Sum a) a -> Type) (a6989586621679846317 :: Sum a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (GetSumSym0 :: TyFun (Sum a) a -> Type) (a6989586621679846317 :: Sum a) = GetSum a6989586621679846317 |
type GetSumSym1 (a6989586621679846317 :: Sum (a6989586621679082599 :: Type)) = GetSum a6989586621679846317 Source #
data ProductSym0 :: forall (a6989586621679082604 :: Type). (~>) a6989586621679082604 (Product (a6989586621679082604 :: Type)) Source #
Instances
SingI (ProductSym0 :: TyFun a (Product a) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods sing :: Sing ProductSym0 Source # | |
SuppressUnusedWarnings (ProductSym0 :: TyFun a6989586621679082604 (Product a6989586621679082604) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (ProductSym0 :: TyFun a (Product a) -> Type) (t6989586621679846339 :: a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (ProductSym0 :: TyFun a (Product a) -> Type) (t6989586621679846339 :: a) = 'Product t6989586621679846339 |
type ProductSym1 (t6989586621679846339 :: a6989586621679082604) = 'Product t6989586621679846339 Source #
data GetProductSym0 :: forall (a6989586621679082604 :: Type). (~>) (Product (a6989586621679082604 :: Type)) a6989586621679082604 Source #
Instances
SuppressUnusedWarnings (GetProductSym0 :: TyFun (Product a6989586621679082604) a6989586621679082604 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (GetProductSym0 :: TyFun (Product a) a -> Type) (a6989586621679846336 :: Product a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (GetProductSym0 :: TyFun (Product a) a -> Type) (a6989586621679846336 :: Product a) = GetProduct a6989586621679846336 |
type GetProductSym1 (a6989586621679846336 :: Product (a6989586621679082604 :: Type)) = GetProduct a6989586621679846336 Source #
data OptionSym0 :: forall (a6989586621679059328 :: Type). (~>) (Maybe a6989586621679059328) (Option (a6989586621679059328 :: Type)) Source #
Instances
SingI (OptionSym0 :: TyFun (Maybe a) (Option a) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods sing :: Sing OptionSym0 Source # | |
SuppressUnusedWarnings (OptionSym0 :: TyFun (Maybe a6989586621679059328) (Option a6989586621679059328) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (OptionSym0 :: TyFun (Maybe a) (Option a) -> Type) (t6989586621679846254 :: Maybe a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (OptionSym0 :: TyFun (Maybe a) (Option a) -> Type) (t6989586621679846254 :: Maybe a) = 'Option t6989586621679846254 |
type OptionSym1 (t6989586621679846254 :: Maybe a6989586621679059328) = 'Option t6989586621679846254 Source #
data GetOptionSym0 :: forall (a6989586621679059328 :: Type). (~>) (Option (a6989586621679059328 :: Type)) (Maybe a6989586621679059328) Source #
Instances
SuppressUnusedWarnings (GetOptionSym0 :: TyFun (Option a6989586621679059328) (Maybe a6989586621679059328) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (GetOptionSym0 :: TyFun (Option a) (Maybe a) -> Type) (a6989586621679846251 :: Option a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (GetOptionSym0 :: TyFun (Option a) (Maybe a) -> Type) (a6989586621679846251 :: Option a) = GetOption a6989586621679846251 |
type GetOptionSym1 (a6989586621679846251 :: Option (a6989586621679059328 :: Type)) = GetOption a6989586621679846251 Source #
data ArgSym0 :: forall (a6989586621679060360 :: Type) (b6989586621679060361 :: Type). (~>) a6989586621679060360 ((~>) b6989586621679060361 (Arg (a6989586621679060360 :: Type) (b6989586621679060361 :: Type))) Source #
Instances
SingI (ArgSym0 :: TyFun a (b ~> Arg a b) -> Type) Source # | |
SuppressUnusedWarnings (ArgSym0 :: TyFun a6989586621679060360 (b6989586621679060361 ~> Arg a6989586621679060360 b6989586621679060361) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup Methods suppressUnusedWarnings :: () Source # | |
type Apply (ArgSym0 :: TyFun a6989586621679060360 (b6989586621679060361 ~> Arg a6989586621679060360 b6989586621679060361) -> Type) (t6989586621680911723 :: a6989586621679060360) Source # | |
Defined in Data.Singletons.Prelude.Semigroup type Apply (ArgSym0 :: TyFun a6989586621679060360 (b6989586621679060361 ~> Arg a6989586621679060360 b6989586621679060361) -> Type) (t6989586621680911723 :: a6989586621679060360) = ArgSym1 t6989586621680911723 b6989586621679060361 :: TyFun b6989586621679060361 (Arg a6989586621679060360 b6989586621679060361) -> Type |
data ArgSym1 (t6989586621680911723 :: a6989586621679060360 :: Type) :: forall (b6989586621679060361 :: Type). (~>) b6989586621679060361 (Arg (a6989586621679060360 :: Type) (b6989586621679060361 :: Type)) Source #
Instances
SingI d => SingI (ArgSym1 d b :: TyFun b (Arg a b) -> Type) Source # | |
SuppressUnusedWarnings (ArgSym1 t6989586621680911723 b6989586621679060361 :: TyFun b6989586621679060361 (Arg a6989586621679060360 b6989586621679060361) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup Methods suppressUnusedWarnings :: () Source # | |
type Apply (ArgSym1 t6989586621680911723 b :: TyFun b (Arg a b) -> Type) (t6989586621680911724 :: b) Source # | |
Defined in Data.Singletons.Prelude.Semigroup |
type ArgSym2 (t6989586621680911723 :: a6989586621679060360) (t6989586621680911724 :: b6989586621679060361) = 'Arg t6989586621680911723 t6989586621680911724 Source #
Orphan instances
SMonadPlus Option Source # | |
SAlternative Option Source # | |
SMonad First Source # | |
Methods (%>>=) :: forall a b (t :: First a) (t :: a ~> First b). Sing t -> Sing t -> Sing (Apply (Apply (>>=@#@$) t) t) Source # (%>>) :: forall a b (t :: First a) (t :: First b). Sing t -> Sing t -> Sing (Apply (Apply (>>@#@$) t) t) Source # sReturn :: forall a (t :: a). Sing t -> Sing (Apply ReturnSym0 t) Source # | |
SMonad Last Source # | |
Methods (%>>=) :: forall a b (t :: Last a) (t :: a ~> Last b). Sing t -> Sing t -> Sing (Apply (Apply (>>=@#@$) t) t) Source # (%>>) :: forall a b (t :: Last a) (t :: Last b). Sing t -> Sing t -> Sing (Apply (Apply (>>@#@$) t) t) Source # sReturn :: forall a (t :: a). Sing t -> Sing (Apply ReturnSym0 t) Source # | |
SMonad Max Source # | |
Methods (%>>=) :: forall a b (t :: Max a) (t :: a ~> Max b). Sing t -> Sing t -> Sing (Apply (Apply (>>=@#@$) t) t) Source # (%>>) :: forall a b (t :: Max a) (t :: Max b). Sing t -> Sing t -> Sing (Apply (Apply (>>@#@$) t) t) Source # sReturn :: forall a (t :: a). Sing t -> Sing (Apply ReturnSym0 t) Source # | |
SMonad Min Source # | |
Methods (%>>=) :: forall a b (t :: Min a) (t :: a ~> Min b). Sing t -> Sing t -> Sing (Apply (Apply (>>=@#@$) t) t) Source # (%>>) :: forall a b (t :: Min a) (t :: Min b). Sing t -> Sing t -> Sing (Apply (Apply (>>@#@$) t) t) Source # sReturn :: forall a (t :: a). Sing t -> Sing (Apply ReturnSym0 t) Source # | |
SMonad Option Source # | |
Methods (%>>=) :: forall a b (t :: Option a) (t :: a ~> Option b). Sing t -> Sing t -> Sing (Apply (Apply (>>=@#@$) t) t) Source # (%>>) :: forall a b (t :: Option a) (t :: Option b). Sing t -> Sing t -> Sing (Apply (Apply (>>@#@$) t) t) Source # sReturn :: forall a (t :: a). Sing t -> Sing (Apply ReturnSym0 t) Source # | |
SApplicative First Source # | |
Methods sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: First (a ~> b)) (t :: First a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: First a) (t :: First b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: First a) (t :: First b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: First a) (t :: First b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SApplicative Last Source # | |
Methods sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: Last (a ~> b)) (t :: Last a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Last a) (t :: Last b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: Last a) (t :: Last b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: Last a) (t :: Last b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SApplicative Max Source # | |
Methods sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: Max (a ~> b)) (t :: Max a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Max a) (t :: Max b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: Max a) (t :: Max b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: Max a) (t :: Max b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SApplicative Min Source # | |
Methods sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: Min (a ~> b)) (t :: Min a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Min a) (t :: Min b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: Min a) (t :: Min b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: Min a) (t :: Min b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SApplicative Option Source # | |
Methods sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: Option (a ~> b)) (t :: Option a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Option a) (t :: Option b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: Option a) (t :: Option b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: Option a) (t :: Option b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SFunctor First Source # | |
SFunctor Last Source # | |
SFunctor Max Source # | |
SFunctor Min Source # | |
SFunctor Option Source # | |
PMonadPlus Option Source # | |
PAlternative Option Source # | |
PMonad First Source # | |
PMonad Last Source # | |
PMonad Max Source # | |
PMonad Min Source # | |
PMonad Option Source # | |
PApplicative First Source # | |
PApplicative Last Source # | |
PApplicative Max Source # | |
PApplicative Min Source # | |
PApplicative Option Source # | |
PFunctor First Source # | |
PFunctor Last Source # | |
PFunctor Max Source # | |
PFunctor Min Source # | |
PFunctor Option Source # | |
SShow Bool => SShow All Source # | |
Methods sShowsPrec :: forall (t :: Nat) (t :: All) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) Source # sShow_ :: forall (t :: All). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t :: [All]) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) Source # | |
SShow Bool => SShow Any Source # | |
Methods sShowsPrec :: forall (t :: Nat) (t :: Any) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) Source # sShow_ :: forall (t :: Any). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t :: [Any]) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) Source # | |
PShow All Source # | |
PShow Any Source # | |
SFoldable First Source # | |
Methods sFold :: forall m (t :: First m). SMonoid m => Sing t -> Sing (Apply FoldSym0 t) Source # sFoldMap :: forall a m (t :: a ~> m) (t :: First a). SMonoid m => Sing t -> Sing t -> Sing (Apply (Apply FoldMapSym0 t) t) Source # sFoldr :: forall a b (t :: a ~> (b ~> b)) (t :: b) (t :: First a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t) Source # sFoldr' :: forall a b (t :: a ~> (b ~> b)) (t :: b) (t :: First a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldr'Sym0 t) t) t) Source # sFoldl :: forall b a (t :: b ~> (a ~> b)) (t :: b) (t :: First a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t) Source # sFoldl' :: forall b a (t :: b ~> (a ~> b)) (t :: b) (t :: First a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldl'Sym0 t) t) t) Source # sFoldr1 :: forall a (t :: a ~> (a ~> a)) (t :: First a). Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t) Source # sFoldl1 :: forall a (t :: a ~> (a ~> a)) (t :: First a). Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t) Source # sToList :: forall a (t :: First a). Sing t -> Sing (Apply ToListSym0 t) Source # sNull :: forall a (t :: First a). Sing t -> Sing (Apply NullSym0 t) Source # sLength :: forall a (t :: First a). Sing t -> Sing (Apply LengthSym0 t) Source # sElem :: forall a (t :: a) (t :: First a). SEq a => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t) Source # sMaximum :: forall a (t :: First a). SOrd a => Sing t -> Sing (Apply MaximumSym0 t) Source # sMinimum :: forall a (t :: First a). SOrd a => Sing t -> Sing (Apply MinimumSym0 t) Source # sSum :: forall a (t :: First a). SNum a => Sing t -> Sing (Apply SumSym0 t) Source # sProduct :: forall a (t :: First a). SNum a => Sing t -> Sing (Apply ProductSym0 t) Source # | |
SFoldable Last Source # | |
Methods sFold :: forall m (t :: Last m). SMonoid m => Sing t -> Sing (Apply FoldSym0 t) Source # sFoldMap :: forall a m (t :: a ~> m) (t :: Last a). SMonoid m => Sing t -> Sing t -> Sing (Apply (Apply FoldMapSym0 t) t) Source # sFoldr :: forall a b (t :: a ~> (b ~> b)) (t :: b) (t :: Last a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t) Source # sFoldr' :: forall a b (t :: a ~> (b ~> b)) (t :: b) (t :: Last a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldr'Sym0 t) t) t) Source # sFoldl :: forall b a (t :: b ~> (a ~> b)) (t :: b) (t :: Last a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t) Source # sFoldl' :: forall b a (t :: b ~> (a ~> b)) (t :: b) (t :: Last a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldl'Sym0 t) t) t) Source # sFoldr1 :: forall a (t :: a ~> (a ~> a)) (t :: Last a). Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t) Source # sFoldl1 :: forall a (t :: a ~> (a ~> a)) (t :: Last a). Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t) Source # sToList :: forall a (t :: Last a). Sing t -> Sing (Apply ToListSym0 t) Source # sNull :: forall a (t :: Last a). Sing t -> Sing (Apply NullSym0 t) Source # sLength :: forall a (t :: Last a). Sing t -> Sing (Apply LengthSym0 t) Source # sElem :: forall a (t :: a) (t :: Last a). SEq a => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t) Source # sMaximum :: forall a (t :: Last a). SOrd a => Sing t -> Sing (Apply MaximumSym0 t) Source # sMinimum :: forall a (t :: Last a). SOrd a => Sing t -> Sing (Apply MinimumSym0 t) Source # sSum :: forall a (t :: Last a). SNum a => Sing t -> Sing (Apply SumSym0 t) Source # sProduct :: forall a (t :: Last a). SNum a => Sing t -> Sing (Apply ProductSym0 t) Source # | |
SFoldable Max Source # | |
Methods sFold :: forall m (t :: Max m). SMonoid m => Sing t -> Sing (Apply FoldSym0 t) Source # sFoldMap :: forall a m (t :: a ~> m) (t :: Max a). SMonoid m => Sing t -> Sing t -> Sing (Apply (Apply FoldMapSym0 t) t) Source # sFoldr :: forall a b (t :: a ~> (b ~> b)) (t :: b) (t :: Max a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t) Source # sFoldr' :: forall a b (t :: a ~> (b ~> b)) (t :: b) (t :: Max a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldr'Sym0 t) t) t) Source # sFoldl :: forall b a (t :: b ~> (a ~> b)) (t :: b) (t :: Max a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t) Source # sFoldl' :: forall b a (t :: b ~> (a ~> b)) (t :: b) (t :: Max a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldl'Sym0 t) t) t) Source # sFoldr1 :: forall a (t :: a ~> (a ~> a)) (t :: Max a). Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t) Source # sFoldl1 :: forall a (t :: a ~> (a ~> a)) (t :: Max a). Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t) Source # sToList :: forall a (t :: Max a). Sing t -> Sing (Apply ToListSym0 t) Source # sNull :: forall a (t :: Max a). Sing t -> Sing (Apply NullSym0 t) Source # sLength :: forall a (t :: Max a). Sing t -> Sing (Apply LengthSym0 t) Source # sElem :: forall a (t :: a) (t :: Max a). SEq a => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t) Source # sMaximum :: forall a (t :: Max a). SOrd a => Sing t -> Sing (Apply MaximumSym0 t) Source # sMinimum :: forall a (t :: Max a). SOrd a => Sing t -> Sing (Apply MinimumSym0 t) Source # sSum :: forall a (t :: Max a). SNum a => Sing t -> Sing (Apply SumSym0 t) Source # sProduct :: forall a (t :: Max a). SNum a => Sing t -> Sing (Apply ProductSym0 t) Source # | |
SFoldable Min Source # | |
Methods sFold :: forall m (t :: Min m). SMonoid m => Sing t -> Sing (Apply FoldSym0 t) Source # sFoldMap :: forall a m (t :: a ~> m) (t :: Min a). SMonoid m => Sing t -> Sing t -> Sing (Apply (Apply FoldMapSym0 t) t) Source # sFoldr :: forall a b (t :: a ~> (b ~> b)) (t :: b) (t :: Min a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t) Source # sFoldr' :: forall a b (t :: a ~> (b ~> b)) (t :: b) (t :: Min a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldr'Sym0 t) t) t) Source # sFoldl :: forall b a (t :: b ~> (a ~> b)) (t :: b) (t :: Min a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t) Source # sFoldl' :: forall b a (t :: b ~> (a ~> b)) (t :: b) (t :: Min a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldl'Sym0 t) t) t) Source # sFoldr1 :: forall a (t :: a ~> (a ~> a)) (t :: Min a). Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t) Source # sFoldl1 :: forall a (t :: a ~> (a ~> a)) (t :: Min a). Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t) Source # sToList :: forall a (t :: Min a). Sing t -> Sing (Apply ToListSym0 t) Source # sNull :: forall a (t :: Min a). Sing t -> Sing (Apply NullSym0 t) Source # sLength :: forall a (t :: Min a). Sing t -> Sing (Apply LengthSym0 t) Source # sElem :: forall a (t :: a) (t :: Min a). SEq a => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t) Source # sMaximum :: forall a (t :: Min a). SOrd a => Sing t -> Sing (Apply MaximumSym0 t) Source # sMinimum :: forall a (t :: Min a). SOrd a => Sing t -> Sing (Apply MinimumSym0 t) Source # sSum :: forall a (t :: Min a). SNum a => Sing t -> Sing (Apply SumSym0 t) Source # sProduct :: forall a (t :: Min a). SNum a => Sing t -> Sing (Apply ProductSym0 t) Source # | |
SFoldable Option Source # | |
Methods sFold :: forall m (t :: Option m). SMonoid m => Sing t -> Sing (Apply FoldSym0 t) Source # sFoldMap :: forall a m (t :: a ~> m) (t :: Option a). SMonoid m => Sing t -> Sing t -> Sing (Apply (Apply FoldMapSym0 t) t) Source # sFoldr :: forall a b (t :: a ~> (b ~> b)) (t :: b) (t :: Option a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t) Source # sFoldr' :: forall a b (t :: a ~> (b ~> b)) (t :: b) (t :: Option a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldr'Sym0 t) t) t) Source # sFoldl :: forall b a (t :: b ~> (a ~> b)) (t :: b) (t :: Option a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t) Source # sFoldl' :: forall b a (t :: b ~> (a ~> b)) (t :: b) (t :: Option a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldl'Sym0 t) t) t) Source # sFoldr1 :: forall a (t :: a ~> (a ~> a)) (t :: Option a). Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t) Source # sFoldl1 :: forall a (t :: a ~> (a ~> a)) (t :: Option a). Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t) Source # sToList :: forall a (t :: Option a). Sing t -> Sing (Apply ToListSym0 t) Source # sNull :: forall a (t :: Option a). Sing t -> Sing (Apply NullSym0 t) Source # sLength :: forall a (t :: Option a). Sing t -> Sing (Apply LengthSym0 t) Source # sElem :: forall a (t :: a) (t :: Option a). SEq a => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t) Source # sMaximum :: forall a (t :: Option a). SOrd a => Sing t -> Sing (Apply MaximumSym0 t) Source # sMinimum :: forall a (t :: Option a). SOrd a => Sing t -> Sing (Apply MinimumSym0 t) Source # sSum :: forall a (t :: Option a). SNum a => Sing t -> Sing (Apply SumSym0 t) Source # sProduct :: forall a (t :: Option a). SNum a => Sing t -> Sing (Apply ProductSym0 t) Source # | |
PFoldable First Source # | |
Associated Types type FoldMap arg arg :: m Source # type Foldr arg arg arg :: b Source # type Foldr' arg arg arg :: b Source # type Foldl arg arg arg :: b Source # type Foldl' arg arg arg :: b Source # type Foldr1 arg arg :: a Source # type Foldl1 arg arg :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Nat Source # type Elem arg arg :: Bool Source # type Maximum arg :: a Source # | |
PFoldable Last Source # | |
Associated Types type FoldMap arg arg :: m Source # type Foldr arg arg arg :: b Source # type Foldr' arg arg arg :: b Source # type Foldl arg arg arg :: b Source # type Foldl' arg arg arg :: b Source # type Foldr1 arg arg :: a Source # type Foldl1 arg arg :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Nat Source # type Elem arg arg :: Bool Source # type Maximum arg :: a Source # | |
PFoldable Max Source # | |
Associated Types type FoldMap arg arg :: m Source # type Foldr arg arg arg :: b Source # type Foldr' arg arg arg :: b Source # type Foldl arg arg arg :: b Source # type Foldl' arg arg arg :: b Source # type Foldr1 arg arg :: a Source # type Foldl1 arg arg :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Nat Source # type Elem arg arg :: Bool Source # type Maximum arg :: a Source # | |
PFoldable Min Source # | |
Associated Types type FoldMap arg arg :: m Source # type Foldr arg arg arg :: b Source # type Foldr' arg arg arg :: b Source # type Foldl arg arg arg :: b Source # type Foldl' arg arg arg :: b Source # type Foldr1 arg arg :: a Source # type Foldl1 arg arg :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Nat Source # type Elem arg arg :: Bool Source # type Maximum arg :: a Source # | |
PFoldable Option Source # | |
Associated Types type FoldMap arg arg :: m Source # type Foldr arg arg arg :: b Source # type Foldr' arg arg arg :: b Source # type Foldl arg arg arg :: b Source # type Foldl' arg arg arg :: b Source # type Foldr1 arg arg :: a Source # type Foldl1 arg arg :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Nat Source # type Elem arg arg :: Bool Source # type Maximum arg :: a Source # | |
STraversable First Source # | |
Methods sTraverse :: forall a (f :: Type -> Type) b (t :: a ~> f b) (t :: First a). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply TraverseSym0 t) t) Source # sSequenceA :: forall (f :: Type -> Type) a (t :: First (f a)). SApplicative f => Sing t -> Sing (Apply SequenceASym0 t) Source # sMapM :: forall a (m :: Type -> Type) b (t :: a ~> m b) (t :: First a). SMonad m => Sing t -> Sing t -> Sing (Apply (Apply MapMSym0 t) t) Source # sSequence :: forall (m :: Type -> Type) a (t :: First (m a)). SMonad m => Sing t -> Sing (Apply SequenceSym0 t) Source # | |
STraversable Last Source # | |
Methods sTraverse :: forall a (f :: Type -> Type) b (t :: a ~> f b) (t :: Last a). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply TraverseSym0 t) t) Source # sSequenceA :: forall (f :: Type -> Type) a (t :: Last (f a)). SApplicative f => Sing t -> Sing (Apply SequenceASym0 t) Source # sMapM :: forall a (m :: Type -> Type) b (t :: a ~> m b) (t :: Last a). SMonad m => Sing t -> Sing t -> Sing (Apply (Apply MapMSym0 t) t) Source # sSequence :: forall (m :: Type -> Type) a (t :: Last (m a)). SMonad m => Sing t -> Sing (Apply SequenceSym0 t) Source # | |
STraversable Max Source # | |
Methods sTraverse :: forall a (f :: Type -> Type) b (t :: a ~> f b) (t :: Max a). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply TraverseSym0 t) t) Source # sSequenceA :: forall (f :: Type -> Type) a (t :: Max (f a)). SApplicative f => Sing t -> Sing (Apply SequenceASym0 t) Source # sMapM :: forall a (m :: Type -> Type) b (t :: a ~> m b) (t :: Max a). SMonad m => Sing t -> Sing t -> Sing (Apply (Apply MapMSym0 t) t) Source # sSequence :: forall (m :: Type -> Type) a (t :: Max (m a)). SMonad m => Sing t -> Sing (Apply SequenceSym0 t) Source # | |
STraversable Min Source # | |
Methods sTraverse :: forall a (f :: Type -> Type) b (t :: a ~> f b) (t :: Min a). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply TraverseSym0 t) t) Source # sSequenceA :: forall (f :: Type -> Type) a (t :: Min (f a)). SApplicative f => Sing t -> Sing (Apply SequenceASym0 t) Source # sMapM :: forall a (m :: Type -> Type) b (t :: a ~> m b) (t :: Min a). SMonad m => Sing t -> Sing t -> Sing (Apply (Apply MapMSym0 t) t) Source # sSequence :: forall (m :: Type -> Type) a (t :: Min (m a)). SMonad m => Sing t -> Sing (Apply SequenceSym0 t) Source # | |
STraversable Option Source # | |
Methods sTraverse :: forall a (f :: Type -> Type) b (t :: a ~> f b) (t :: Option a). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply TraverseSym0 t) t) Source # sSequenceA :: forall (f :: Type -> Type) a (t :: Option (f a)). SApplicative f => Sing t -> Sing (Apply SequenceASym0 t) Source # sMapM :: forall a (m :: Type -> Type) b (t :: a ~> m b) (t :: Option a). SMonad m => Sing t -> Sing t -> Sing (Apply (Apply MapMSym0 t) t) Source # sSequence :: forall (m :: Type -> Type) a (t :: Option (m a)). SMonad m => Sing t -> Sing (Apply SequenceSym0 t) Source # | |
PTraversable First Source # | |
PTraversable Last Source # | |
PTraversable Max Source # | |
PTraversable Min Source # | |
PTraversable Option Source # | |
ShowSing Bool => Show (SAny z) Source # | |
ShowSing Bool => Show (SAll z) Source # | |
SNum a => SNum (Max a) Source # | |
Methods (%+) :: forall (t :: Max a) (t :: Max a). Sing t -> Sing t -> Sing (Apply (Apply (+@#@$) t) t) Source # (%-) :: forall (t :: Max a) (t :: Max a). Sing t -> Sing t -> Sing (Apply (Apply (-@#@$) t) t) Source # (%*) :: forall (t :: Max a) (t :: Max a). Sing t -> Sing t -> Sing (Apply (Apply (*@#@$) t) t) 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 :: Nat). Sing t -> Sing (Apply FromIntegerSym0 t) Source # | |
SNum a => SNum (Min a) Source # | |
Methods (%+) :: forall (t :: Min a) (t :: Min a). Sing t -> Sing t -> Sing (Apply (Apply (+@#@$) t) t) Source # (%-) :: forall (t :: Min a) (t :: Min a). Sing t -> Sing t -> Sing (Apply (Apply (-@#@$) t) t) Source # (%*) :: forall (t :: Min a) (t :: Min a). Sing t -> Sing t -> Sing (Apply (Apply (*@#@$) t) t) 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 :: Nat). Sing t -> Sing (Apply FromIntegerSym0 t) Source # | |
PNum (Max a) Source # | |
PNum (Min a) Source # | |
SFunctor (Arg a) Source # | |
PFunctor (Arg a) Source # | |
SEnum a => SEnum (First a) Source # | |
Methods 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 :: Nat). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: First a). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: First a) (t :: First a). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: First a) (t :: First a) (t :: First a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # | |
SEnum a => SEnum (Last a) Source # | |
Methods 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 :: Nat). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Last a). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: Last a) (t :: Last a). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: Last a) (t :: Last a) (t :: Last a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # | |
SEnum a => SEnum (Max a) Source # | |
Methods 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 :: Nat). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Max a). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: Max a) (t :: Max a). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: Max a) (t :: Max a) (t :: Max a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # | |
SEnum a => SEnum (Min a) Source # | |
Methods 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 :: Nat). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Min a). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: Min a) (t :: Min a). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: Min a) (t :: Min a) (t :: Min a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # | |
SEnum a => SEnum (WrappedMonoid a) Source # | |
Methods 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 :: Nat). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: WrappedMonoid a). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: WrappedMonoid a) (t :: WrappedMonoid a). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: WrappedMonoid a) (t :: WrappedMonoid a) (t :: WrappedMonoid a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # | |
PEnum (First a) Source # | |
PEnum (Last a) Source # | |
PEnum (Max a) Source # | |
PEnum (Min a) Source # | |
PEnum (WrappedMonoid a) Source # | |
SSemigroup (First a) Source # | |
SSemigroup (Last a) Source # | |
SOrd a => SSemigroup (Max a) Source # | |
SOrd a => SSemigroup (Min a) Source # | |
SSemigroup a => SSemigroup (Option a) Source # | |
SMonoid m => SSemigroup (WrappedMonoid m) Source # | |
PSemigroup (First a) Source # | |
PSemigroup (Last a) Source # | |
PSemigroup (Max a) Source # | |
PSemigroup (Min a) Source # | |
PSemigroup (Option a) Source # | |
PSemigroup (WrappedMonoid m) Source # | |
SShow a => SShow (First a) Source # | |
Methods sShowsPrec :: forall (t :: Nat) (t :: First a) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) Source # sShow_ :: forall (t :: First a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t :: [First a]) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) Source # | |
SShow a => SShow (Last a) Source # | |
Methods sShowsPrec :: forall (t :: Nat) (t :: Last a) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) Source # sShow_ :: forall (t :: Last a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t :: [Last a]) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) Source # | |
SShow a => SShow (Max a) Source # | |
Methods sShowsPrec :: forall (t :: Nat) (t :: Max a) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) Source # sShow_ :: forall (t :: Max a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t :: [Max a]) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) Source # | |
SShow a => SShow (Min a) Source # | |
Methods sShowsPrec :: forall (t :: Nat) (t :: Min a) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) Source # sShow_ :: forall (t :: Min a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t :: [Min a]) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) Source # | |
SShow (Maybe a) => SShow (Option a) Source # | |
Methods sShowsPrec :: forall (t :: Nat) (t :: Option a) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) Source # sShow_ :: forall (t :: Option a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t :: [Option a]) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) Source # | |
SShow m => SShow (WrappedMonoid m) Source # | |
Methods sShowsPrec :: forall (t :: Nat) (t :: WrappedMonoid m) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) Source # sShow_ :: forall (t :: WrappedMonoid m). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t :: [WrappedMonoid m]) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) Source # | |
SShow a => SShow (Dual a) Source # | |
Methods sShowsPrec :: forall (t :: Nat) (t :: Dual a) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) Source # sShow_ :: forall (t :: Dual a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t :: [Dual a]) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) Source # | |
SShow a => SShow (Product a) Source # | |
Methods sShowsPrec :: forall (t :: Nat) (t :: Product a) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) Source # sShow_ :: forall (t :: Product a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t :: [Product a]) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) Source # | |
SShow a => SShow (Sum a) Source # | |
Methods sShowsPrec :: forall (t :: Nat) (t :: Sum a) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) Source # sShow_ :: forall (t :: Sum a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t :: [Sum a]) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) Source # | |
PShow (First a) Source # | |
PShow (Last a) Source # | |
PShow (Max a) Source # | |
PShow (Min a) Source # | |
PShow (Option a) Source # | |
PShow (WrappedMonoid m) Source # | |
PShow (Dual a) Source # | |
PShow (Product a) Source # | |
PShow (Sum a) Source # | |
(SOrd a, SBounded a) => SMonoid (Max a) Source # | |
(SOrd a, SBounded a) => SMonoid (Min a) Source # | |
SSemigroup a => SMonoid (Option a) Source # | |
SMonoid m => SMonoid (WrappedMonoid m) Source # | |
PMonoid (Max a) Source # | |
PMonoid (Min a) Source # | |
PMonoid (Option a) Source # | |
PMonoid (WrappedMonoid m) Source # | |
SFoldable (Arg a) Source # | |
Methods sFold :: forall m (t :: Arg a m). SMonoid m => Sing t -> Sing (Apply FoldSym0 t) Source # sFoldMap :: forall a0 m (t :: a0 ~> m) (t :: Arg a a0). SMonoid m => Sing t -> Sing t -> Sing (Apply (Apply FoldMapSym0 t) t) Source # sFoldr :: forall a0 b (t :: a0 ~> (b ~> b)) (t :: b) (t :: Arg a a0). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t) Source # sFoldr' :: forall a0 b (t :: a0 ~> (b ~> b)) (t :: b) (t :: Arg a a0). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldr'Sym0 t) t) t) Source # sFoldl :: forall b a0 (t :: b ~> (a0 ~> b)) (t :: b) (t :: Arg a a0). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t) Source # sFoldl' :: forall b a0 (t :: b ~> (a0 ~> b)) (t :: b) (t :: Arg a a0). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldl'Sym0 t) t) t) Source # sFoldr1 :: forall a0 (t :: a0 ~> (a0 ~> a0)) (t :: Arg a a0). Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t) Source # sFoldl1 :: forall a0 (t :: a0 ~> (a0 ~> a0)) (t :: Arg a a0). Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t) Source # sToList :: forall a0 (t :: Arg a a0). Sing t -> Sing (Apply ToListSym0 t) Source # sNull :: forall a0 (t :: Arg a a0). Sing t -> Sing (Apply NullSym0 t) Source # sLength :: forall a0 (t :: Arg a a0). Sing t -> Sing (Apply LengthSym0 t) Source # sElem :: forall a0 (t :: a0) (t :: Arg a a0). SEq a0 => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t) Source # sMaximum :: forall a0 (t :: Arg a a0). SOrd a0 => Sing t -> Sing (Apply MaximumSym0 t) Source # sMinimum :: forall a0 (t :: Arg a a0). SOrd a0 => Sing t -> Sing (Apply MinimumSym0 t) Source # sSum :: forall a0 (t :: Arg a a0). SNum a0 => Sing t -> Sing (Apply SumSym0 t) Source # sProduct :: forall a0 (t :: Arg a a0). SNum a0 => Sing t -> Sing (Apply ProductSym0 t) Source # | |
PFoldable (Arg a) Source # | |
Associated Types type FoldMap arg arg :: m Source # type Foldr arg arg arg :: b Source # type Foldr' arg arg arg :: b Source # type Foldl arg arg arg :: b Source # type Foldl' arg arg arg :: b Source # type Foldr1 arg arg :: a Source # type Foldl1 arg arg :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Nat Source # type Elem arg arg :: Bool Source # type Maximum arg :: a Source # | |
STraversable (Arg a) Source # | |
Methods sTraverse :: forall a0 (f :: Type -> Type) b (t :: a0 ~> f b) (t :: Arg a a0). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply TraverseSym0 t) t) Source # sSequenceA :: forall (f :: Type -> Type) a0 (t :: Arg a (f a0)). SApplicative f => Sing t -> Sing (Apply SequenceASym0 t) Source # sMapM :: forall a0 (m :: Type -> Type) b (t :: a0 ~> m b) (t :: Arg a a0). SMonad m => Sing t -> Sing t -> Sing (Apply (Apply MapMSym0 t) t) Source # sSequence :: forall (m :: Type -> Type) a0 (t :: Arg a (m a0)). SMonad m => Sing t -> Sing (Apply SequenceSym0 t) Source # | |
PTraversable (Arg a) Source # | |
ShowSing m => Show (SWrappedMonoid z) Source # | |
Methods showsPrec :: Int -> SWrappedMonoid z -> ShowS show :: SWrappedMonoid z -> String showList :: [SWrappedMonoid z] -> ShowS | |
ShowSing a => Show (SLast z) Source # | |
ShowSing a => Show (SFirst 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 a => Show (SDual z) Source # | |
ShowSing (Maybe a) => Show (SOption z) Source # | |
(SingKind a, SingKind b) => SingKind (Arg a b) Source # | |
PEq (Arg a b) Source # | |
SEq a => SEq (Arg a b) Source # | |
SOrd a => SOrd (Arg a b) Source # | |
Methods sCompare :: forall (t :: Arg a b) (t :: Arg a b). Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source # (%<) :: forall (t :: Arg a b) (t :: Arg a b). Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source # (%<=) :: forall (t :: Arg a b) (t :: Arg a b). Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source # (%>) :: forall (t :: Arg a b) (t :: Arg a b). Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source # (%>=) :: forall (t :: Arg a b) (t :: Arg a b). Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source # sMax :: forall (t :: Arg a b) (t :: Arg a b). Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source # sMin :: forall (t :: Arg a b) (t :: Arg a b). Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source # | |
POrd (Arg a b) Source # | |
(SShow a, SShow b) => SShow (Arg a b) Source # | |
Methods sShowsPrec :: forall (t :: Nat) (t :: Arg a b) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) Source # sShow_ :: forall (t :: Arg a b). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t :: [Arg a b]) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) Source # | |
PShow (Arg a b) Source # | |
(SingI n1, SingI n2) => SingI ('Arg n1 n2 :: Arg a b) Source # | |