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.Monoid
Synopsis
- class PMonoid (a :: Type) where
- class SSemigroup a => SMonoid a where
- sMempty :: Sing (MemptySym0 :: a)
- sMappend :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply MappendSym0 t) t :: a)
- sMconcat :: forall (t :: [a]). Sing t -> Sing (Apply MconcatSym0 t :: a)
- type family Sing :: k -> Type
- 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 SFirst :: forall a. First a -> Type where
- data SLast :: forall a. Last a -> Type 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 GetFirst (a :: First (a :: Type)) :: Maybe a where ...
- type family GetLast (a :: Last (a :: Type)) :: Maybe a where ...
- type MemptySym0 = Mempty
- data MappendSym0 :: forall a6989586621680360798. (~>) a6989586621680360798 ((~>) a6989586621680360798 a6989586621680360798)
- data MappendSym1 (arg6989586621680360937 :: a6989586621680360798) :: (~>) a6989586621680360798 a6989586621680360798
- type MappendSym2 (arg6989586621680360937 :: a6989586621680360798) (arg6989586621680360938 :: a6989586621680360798) = Mappend arg6989586621680360937 arg6989586621680360938
- data MconcatSym0 :: forall a6989586621680360798. (~>) [a6989586621680360798] a6989586621680360798
- type MconcatSym1 (arg6989586621680360941 :: [a6989586621680360798]) = Mconcat arg6989586621680360941
- data DualSym0 :: forall (a6989586621679082619 :: Type). (~>) a6989586621679082619 (Dual (a6989586621679082619 :: Type))
- type DualSym1 (t6989586621679846224 :: a6989586621679082619) = 'Dual t6989586621679846224
- data GetDualSym0 :: forall (a6989586621679082619 :: Type). (~>) (Dual (a6989586621679082619 :: Type)) a6989586621679082619
- type GetDualSym1 (a6989586621679846221 :: Dual (a6989586621679082619 :: Type)) = GetDual a6989586621679846221
- data AllSym0 :: (~>) Bool All
- type AllSym1 (t6989586621679846238 :: Bool) = 'All t6989586621679846238
- data GetAllSym0 :: (~>) All Bool
- type GetAllSym1 (a6989586621679846235 :: All) = GetAll a6989586621679846235
- data AnySym0 :: (~>) Bool Any
- type AnySym1 (t6989586621679846252 :: Bool) = 'Any t6989586621679846252
- data GetAnySym0 :: (~>) Any Bool
- type GetAnySym1 (a6989586621679846249 :: Any) = GetAny a6989586621679846249
- data SumSym0 :: forall (a6989586621679082604 :: Type). (~>) a6989586621679082604 (Sum (a6989586621679082604 :: Type))
- type SumSym1 (t6989586621679846271 :: a6989586621679082604) = 'Sum t6989586621679846271
- data GetSumSym0 :: forall (a6989586621679082604 :: Type). (~>) (Sum (a6989586621679082604 :: Type)) a6989586621679082604
- type GetSumSym1 (a6989586621679846268 :: Sum (a6989586621679082604 :: Type)) = GetSum a6989586621679846268
- data ProductSym0 :: forall (a6989586621679082609 :: Type). (~>) a6989586621679082609 (Product (a6989586621679082609 :: Type))
- type ProductSym1 (t6989586621679846290 :: a6989586621679082609) = 'Product t6989586621679846290
- data GetProductSym0 :: forall (a6989586621679082609 :: Type). (~>) (Product (a6989586621679082609 :: Type)) a6989586621679082609
- type GetProductSym1 (a6989586621679846287 :: Product (a6989586621679082609 :: Type)) = GetProduct a6989586621679846287
- data FirstSym0 :: forall (a6989586621679082669 :: Type). (~>) (Maybe a6989586621679082669) (First (a6989586621679082669 :: Type))
- type FirstSym1 (t6989586621680364368 :: Maybe a6989586621679082669) = 'First t6989586621680364368
- data GetFirstSym0 :: forall (a6989586621679082669 :: Type). (~>) (First (a6989586621679082669 :: Type)) (Maybe a6989586621679082669)
- type GetFirstSym1 (a6989586621680364365 :: First (a6989586621679082669 :: Type)) = GetFirst a6989586621680364365
- data LastSym0 :: forall (a6989586621679082664 :: Type). (~>) (Maybe a6989586621679082664) (Last (a6989586621679082664 :: Type))
- type LastSym1 (t6989586621680364391 :: Maybe a6989586621679082664) = 'Last t6989586621680364391
- data GetLastSym0 :: forall (a6989586621679082664 :: Type). (~>) (Last (a6989586621679082664 :: Type)) (Maybe a6989586621679082664)
- type GetLastSym1 (a6989586621680364388 :: Last (a6989586621679082664 :: Type)) = GetLast a6989586621680364388
Documentation
class PMonoid (a :: Type) Source #
Instances
PMonoid Ordering Source # | |
PMonoid Symbol Source # | |
PMonoid () Source # | |
PMonoid All Source # | |
PMonoid Any Source # | |
PMonoid [a] Source # | |
PMonoid (Maybe a) Source # | |
PMonoid (Down a) Source # | |
PMonoid (Identity a) Source # | |
PMonoid (Max a) Source # | |
PMonoid (Min a) Source # | |
PMonoid (Option a) Source # | |
PMonoid (WrappedMonoid m) Source # | |
PMonoid (Dual a) Source # | |
PMonoid (Product a) Source # | |
PMonoid (Sum a) Source # | |
PMonoid (First a) Source # | |
PMonoid (Last a) Source # | |
PMonoid (a, b) Source # | |
PMonoid (a ~> b) Source # | |
PMonoid (a, b, c) Source # | |
PMonoid (Const a b) Source # | |
PMonoid (a, b, c, d) Source # | |
PMonoid (a, b, c, d, e) Source # | |
class SSemigroup a => SMonoid a where Source #
Minimal complete definition
Methods
sMempty :: Sing (MemptySym0 :: a) Source #
sMappend :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply MappendSym0 t) t :: a) Source #
default sMappend :: forall (t :: a) (t :: a). (Apply (Apply MappendSym0 t) t :: a) ~ Apply (Apply Mappend_6989586621680360945Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply MappendSym0 t) t :: a) Source #
sMconcat :: forall (t :: [a]). Sing t -> Sing (Apply MconcatSym0 t :: a) Source #
default sMconcat :: forall (t :: [a]). (Apply MconcatSym0 t :: a) ~ Apply Mconcat_6989586621680360960Sym0 t => Sing t -> Sing (Apply MconcatSym0 t :: a) Source #
Instances
type family Sing :: k -> Type Source #
The singleton kind-indexed type family.
Instances
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 SFirst :: forall a. First a -> Type where Source #
Constructors
SFirst | |
Instances
SDecide (Maybe a) => TestCoercion (SFirst :: First a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid Methods testCoercion :: forall (a0 :: k) (b :: k). SFirst a0 -> SFirst b -> Maybe (Coercion a0 b) | |
SDecide (Maybe a) => TestEquality (SFirst :: First a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid Methods testEquality :: forall (a0 :: k) (b :: k). SFirst a0 -> SFirst b -> Maybe (a0 :~: b) | |
ShowSing (Maybe a) => Show (SFirst z) Source # | |
data SLast :: forall a. Last a -> Type where Source #
Constructors
SLast | |
Instances
SDecide (Maybe a) => TestCoercion (SLast :: Last a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid Methods testCoercion :: forall (a0 :: k) (b :: k). SLast a0 -> SLast b -> Maybe (Coercion a0 b) | |
SDecide (Maybe a) => TestEquality (SLast :: Last a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid Methods testEquality :: forall (a0 :: k) (b :: k). SLast a0 -> SLast b -> Maybe (a0 :~: b) | |
ShowSing (Maybe a) => Show (SLast z) Source # | |
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 GetFirst (a :: First (a :: Type)) :: Maybe a where ... Source #
Equations
GetFirst ('First field) = field |
type family GetLast (a :: Last (a :: Type)) :: Maybe a where ... Source #
Equations
GetLast ('Last field) = field |
Defunctionalization symbols
type MemptySym0 = Mempty Source #
data MappendSym0 :: forall a6989586621680360798. (~>) a6989586621680360798 ((~>) a6989586621680360798 a6989586621680360798) Source #
Instances
SMonoid a => SingI (MappendSym0 :: TyFun a (a ~> a) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid Methods sing :: Sing MappendSym0 Source # | |
SuppressUnusedWarnings (MappendSym0 :: TyFun a6989586621680360798 (a6989586621680360798 ~> a6989586621680360798) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid Methods suppressUnusedWarnings :: () Source # | |
type Apply (MappendSym0 :: TyFun a6989586621680360798 (a6989586621680360798 ~> a6989586621680360798) -> Type) (arg6989586621680360937 :: a6989586621680360798) Source # | |
Defined in Data.Singletons.Prelude.Monoid type Apply (MappendSym0 :: TyFun a6989586621680360798 (a6989586621680360798 ~> a6989586621680360798) -> Type) (arg6989586621680360937 :: a6989586621680360798) = MappendSym1 arg6989586621680360937 |
data MappendSym1 (arg6989586621680360937 :: a6989586621680360798) :: (~>) a6989586621680360798 a6989586621680360798 Source #
Instances
(SMonoid a, SingI d) => SingI (MappendSym1 d :: TyFun a a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid Methods sing :: Sing (MappendSym1 d) Source # | |
SuppressUnusedWarnings (MappendSym1 arg6989586621680360937 :: TyFun a6989586621680360798 a6989586621680360798 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid Methods suppressUnusedWarnings :: () Source # | |
type Apply (MappendSym1 arg6989586621680360937 :: TyFun a a -> Type) (arg6989586621680360938 :: a) Source # | |
Defined in Data.Singletons.Prelude.Monoid type Apply (MappendSym1 arg6989586621680360937 :: TyFun a a -> Type) (arg6989586621680360938 :: a) = Mappend arg6989586621680360937 arg6989586621680360938 |
type MappendSym2 (arg6989586621680360937 :: a6989586621680360798) (arg6989586621680360938 :: a6989586621680360798) = Mappend arg6989586621680360937 arg6989586621680360938 Source #
data MconcatSym0 :: forall a6989586621680360798. (~>) [a6989586621680360798] a6989586621680360798 Source #
Instances
SMonoid a => SingI (MconcatSym0 :: TyFun [a] a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid Methods sing :: Sing MconcatSym0 Source # | |
SuppressUnusedWarnings (MconcatSym0 :: TyFun [a6989586621680360798] a6989586621680360798 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid Methods suppressUnusedWarnings :: () Source # | |
type Apply (MconcatSym0 :: TyFun [a] a -> Type) (arg6989586621680360941 :: [a]) Source # | |
Defined in Data.Singletons.Prelude.Monoid type Apply (MconcatSym0 :: TyFun [a] a -> Type) (arg6989586621680360941 :: [a]) = Mconcat arg6989586621680360941 |
type MconcatSym1 (arg6989586621680360941 :: [a6989586621680360798]) = Mconcat arg6989586621680360941 Source #
data DualSym0 :: forall (a6989586621679082619 :: Type). (~>) a6989586621679082619 (Dual (a6989586621679082619 :: Type)) Source #
Instances
SingI (DualSym0 :: TyFun a (Dual a) -> Type) Source # | |
SuppressUnusedWarnings (DualSym0 :: TyFun a6989586621679082619 (Dual a6989586621679082619) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (DualSym0 :: TyFun a (Dual a) -> Type) (t6989586621679846224 :: a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal |
data GetDualSym0 :: forall (a6989586621679082619 :: Type). (~>) (Dual (a6989586621679082619 :: Type)) a6989586621679082619 Source #
Instances
SuppressUnusedWarnings (GetDualSym0 :: TyFun (Dual a6989586621679082619) a6989586621679082619 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (GetDualSym0 :: TyFun (Dual a) a -> Type) (a6989586621679846221 :: Dual a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (GetDualSym0 :: TyFun (Dual a) a -> Type) (a6989586621679846221 :: Dual a) = GetDual a6989586621679846221 |
type GetDualSym1 (a6989586621679846221 :: Dual (a6989586621679082619 :: Type)) = GetDual a6989586621679846221 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 (t6989586621679846238 :: 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 (a6989586621679846235 :: All) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal |
type GetAllSym1 (a6989586621679846235 :: All) = GetAll a6989586621679846235 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 (t6989586621679846252 :: 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 (a6989586621679846249 :: Any) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal |
type GetAnySym1 (a6989586621679846249 :: Any) = GetAny a6989586621679846249 Source #
data SumSym0 :: forall (a6989586621679082604 :: Type). (~>) a6989586621679082604 (Sum (a6989586621679082604 :: Type)) Source #
Instances
SingI (SumSym0 :: TyFun a (Sum a) -> Type) Source # | |
SuppressUnusedWarnings (SumSym0 :: TyFun a6989586621679082604 (Sum a6989586621679082604) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (SumSym0 :: TyFun a (Sum a) -> Type) (t6989586621679846271 :: a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal |
data GetSumSym0 :: forall (a6989586621679082604 :: Type). (~>) (Sum (a6989586621679082604 :: Type)) a6989586621679082604 Source #
Instances
SuppressUnusedWarnings (GetSumSym0 :: TyFun (Sum a6989586621679082604) a6989586621679082604 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (GetSumSym0 :: TyFun (Sum a) a -> Type) (a6989586621679846268 :: Sum a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (GetSumSym0 :: TyFun (Sum a) a -> Type) (a6989586621679846268 :: Sum a) = GetSum a6989586621679846268 |
type GetSumSym1 (a6989586621679846268 :: Sum (a6989586621679082604 :: Type)) = GetSum a6989586621679846268 Source #
data ProductSym0 :: forall (a6989586621679082609 :: Type). (~>) a6989586621679082609 (Product (a6989586621679082609 :: 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 a6989586621679082609 (Product a6989586621679082609) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (ProductSym0 :: TyFun a (Product a) -> Type) (t6989586621679846290 :: a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (ProductSym0 :: TyFun a (Product a) -> Type) (t6989586621679846290 :: a) = 'Product t6989586621679846290 |
type ProductSym1 (t6989586621679846290 :: a6989586621679082609) = 'Product t6989586621679846290 Source #
data GetProductSym0 :: forall (a6989586621679082609 :: Type). (~>) (Product (a6989586621679082609 :: Type)) a6989586621679082609 Source #
Instances
SuppressUnusedWarnings (GetProductSym0 :: TyFun (Product a6989586621679082609) a6989586621679082609 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal Methods suppressUnusedWarnings :: () Source # | |
type Apply (GetProductSym0 :: TyFun (Product a) a -> Type) (a6989586621679846287 :: Product a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (GetProductSym0 :: TyFun (Product a) a -> Type) (a6989586621679846287 :: Product a) = GetProduct a6989586621679846287 |
type GetProductSym1 (a6989586621679846287 :: Product (a6989586621679082609 :: Type)) = GetProduct a6989586621679846287 Source #
data FirstSym0 :: forall (a6989586621679082669 :: Type). (~>) (Maybe a6989586621679082669) (First (a6989586621679082669 :: Type)) Source #
Instances
SingI (FirstSym0 :: TyFun (Maybe a) (First a) -> Type) Source # | |
SuppressUnusedWarnings (FirstSym0 :: TyFun (Maybe a6989586621679082669) (First a6989586621679082669) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid Methods suppressUnusedWarnings :: () Source # | |
type Apply (FirstSym0 :: TyFun (Maybe a) (First a) -> Type) (t6989586621680364368 :: Maybe a) Source # | |
Defined in Data.Singletons.Prelude.Monoid |
type FirstSym1 (t6989586621680364368 :: Maybe a6989586621679082669) = 'First t6989586621680364368 Source #
data GetFirstSym0 :: forall (a6989586621679082669 :: Type). (~>) (First (a6989586621679082669 :: Type)) (Maybe a6989586621679082669) Source #
Instances
SuppressUnusedWarnings (GetFirstSym0 :: TyFun (First a6989586621679082669) (Maybe a6989586621679082669) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid Methods suppressUnusedWarnings :: () Source # | |
type Apply (GetFirstSym0 :: TyFun (First a) (Maybe a) -> Type) (a6989586621680364365 :: First a) Source # | |
Defined in Data.Singletons.Prelude.Monoid type Apply (GetFirstSym0 :: TyFun (First a) (Maybe a) -> Type) (a6989586621680364365 :: First a) = GetFirst a6989586621680364365 |
type GetFirstSym1 (a6989586621680364365 :: First (a6989586621679082669 :: Type)) = GetFirst a6989586621680364365 Source #
data LastSym0 :: forall (a6989586621679082664 :: Type). (~>) (Maybe a6989586621679082664) (Last (a6989586621679082664 :: Type)) Source #
Instances
SingI (LastSym0 :: TyFun (Maybe a) (Last a) -> Type) Source # | |
SuppressUnusedWarnings (LastSym0 :: TyFun (Maybe a6989586621679082664) (Last a6989586621679082664) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid Methods suppressUnusedWarnings :: () Source # | |
type Apply (LastSym0 :: TyFun (Maybe a) (Last a) -> Type) (t6989586621680364391 :: Maybe a) Source # | |
Defined in Data.Singletons.Prelude.Monoid |
type LastSym1 (t6989586621680364391 :: Maybe a6989586621679082664) = 'Last t6989586621680364391 Source #
data GetLastSym0 :: forall (a6989586621679082664 :: Type). (~>) (Last (a6989586621679082664 :: Type)) (Maybe a6989586621679082664) Source #
Instances
SuppressUnusedWarnings (GetLastSym0 :: TyFun (Last a6989586621679082664) (Maybe a6989586621679082664) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid Methods suppressUnusedWarnings :: () Source # | |
type Apply (GetLastSym0 :: TyFun (Last a) (Maybe a) -> Type) (a6989586621680364388 :: Last a) Source # | |
Defined in Data.Singletons.Prelude.Monoid type Apply (GetLastSym0 :: TyFun (Last a) (Maybe a) -> Type) (a6989586621680364388 :: Last a) = GetLast a6989586621680364388 |
type GetLastSym1 (a6989586621680364388 :: Last (a6989586621679082664 :: Type)) = GetLast a6989586621680364388 Source #
Orphan instances
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 # | |
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 # | |
SFunctor First Source # | |
SFunctor Last Source # | |
PMonad First Source # | |
PMonad Last Source # | |
PApplicative First Source # | |
PApplicative Last Source # | |
PFunctor First Source # | |
PFunctor Last Source # | |
SingKind a => SingKind (First a) Source # | |
SingKind a => SingKind (Last a) Source # | |
SDecide (Maybe a) => SDecide (First a) Source # | |
SDecide (Maybe a) => SDecide (Last a) Source # | |
PEq (First a) Source # | |
PEq (Last a) Source # | |
SEq (Maybe a) => SEq (First a) Source # | |
SEq (Maybe a) => SEq (Last a) Source # | |
SOrd (Maybe a) => SOrd (First a) Source # | |
Methods sCompare :: forall (t :: First a) (t :: First a). Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source # (%<) :: forall (t :: First a) (t :: First a). Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source # (%<=) :: forall (t :: First a) (t :: First a). Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source # (%>) :: forall (t :: First a) (t :: First a). Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source # (%>=) :: forall (t :: First a) (t :: First a). Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source # sMax :: forall (t :: First a) (t :: First a). Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source # sMin :: forall (t :: First a) (t :: First a). Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source # | |
SOrd (Maybe a) => SOrd (Last a) Source # | |
Methods sCompare :: forall (t :: Last a) (t :: Last a). Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source # (%<) :: forall (t :: Last a) (t :: Last a). Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source # (%<=) :: forall (t :: Last a) (t :: Last a). Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source # (%>) :: forall (t :: Last a) (t :: Last a). Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source # (%>=) :: forall (t :: Last a) (t :: Last a). Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source # sMax :: forall (t :: Last a) (t :: Last a). Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source # sMin :: forall (t :: Last a) (t :: Last a). Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source # | |
POrd (First a) Source # | |
POrd (Last a) Source # | |
SSemigroup (First a) Source # | |
SSemigroup (Last a) Source # | |
PSemigroup (First a) Source # | |
PSemigroup (Last a) Source # | |
SShow (Maybe 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 (Maybe 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 # | |
PShow (First a) Source # | |
PShow (Last a) Source # | |
SingI n => SingI ('First n :: First a) Source # | |
SingI n => SingI ('Last n :: Last a) Source # | |