Copyright | (C) 2018 Ryan Scott |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Ryan Scott |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- class PMonoid a 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
- data SDual z where
- data SAll z where
- data SAny z where
- data SSum z where
- data SProduct z where
- data SFirst z where
- data SLast z where
- type family GetDual a where ...
- type family GetAll a where ...
- type family GetAny a where ...
- type family GetSum a where ...
- type family GetProduct a where ...
- type family GetFirst a where ...
- type family GetLast a where ...
- sGetDual :: forall (a :: Type) (t :: Dual (a :: Type)). Sing t -> Sing (Apply GetDualSym0 t :: a)
- sGetAll :: forall (t :: All). Sing t -> Sing (Apply GetAllSym0 t :: Bool)
- sGetAny :: forall (t :: Any). Sing t -> Sing (Apply GetAnySym0 t :: Bool)
- sGetSum :: forall (a :: Type) (t :: Sum (a :: Type)). Sing t -> Sing (Apply GetSumSym0 t :: a)
- sGetProduct :: forall (a :: Type) (t :: Product (a :: Type)). Sing t -> Sing (Apply GetProductSym0 t :: a)
- sGetFirst :: forall (a :: Type) (t :: First (a :: Type)). Sing t -> Sing (Apply GetFirstSym0 t :: Maybe a)
- sGetLast :: forall (a :: Type) (t :: Last (a :: Type)). Sing t -> Sing (Apply GetLastSym0 t :: Maybe a)
- type MemptySym0 = Mempty :: a
- data MappendSym0 a6989586621680347244
- data MappendSym1 a6989586621680347244 a6989586621680347245
- type MappendSym2 (a6989586621680347244 :: a) (a6989586621680347245 :: a) = Mappend a6989586621680347244 a6989586621680347245 :: a
- data MconcatSym0 a6989586621680347248
- type MconcatSym1 (a6989586621680347248 :: [a]) = Mconcat a6989586621680347248 :: a
- data DualSym0 a6989586621679840113
- type DualSym1 (a6989586621679840113 :: a) = 'Dual a6989586621679840113 :: Dual (a :: Type)
- data GetDualSym0 a6989586621679840116
- type GetDualSym1 (a6989586621679840116 :: Dual (a :: Type)) = GetDual a6989586621679840116 :: a
- data AllSym0 a6989586621679840130
- type AllSym1 (a6989586621679840130 :: Bool) = 'All a6989586621679840130 :: All
- data GetAllSym0 a6989586621679840133
- type GetAllSym1 (a6989586621679840133 :: All) = GetAll a6989586621679840133 :: Bool
- data AnySym0 a6989586621679840147
- type AnySym1 (a6989586621679840147 :: Bool) = 'Any a6989586621679840147 :: Any
- data GetAnySym0 a6989586621679840150
- type GetAnySym1 (a6989586621679840150 :: Any) = GetAny a6989586621679840150 :: Bool
- data SumSym0 a6989586621679840169
- type SumSym1 (a6989586621679840169 :: a) = 'Sum a6989586621679840169 :: Sum (a :: Type)
- data GetSumSym0 a6989586621679840172
- type GetSumSym1 (a6989586621679840172 :: Sum (a :: Type)) = GetSum a6989586621679840172 :: a
- data ProductSym0 a6989586621679840191
- type ProductSym1 (a6989586621679840191 :: a) = 'Product a6989586621679840191 :: Product (a :: Type)
- data GetProductSym0 a6989586621679840194
- type GetProductSym1 (a6989586621679840194 :: Product (a :: Type)) = GetProduct a6989586621679840194 :: a
- data FirstSym0 a6989586621680350749
- type FirstSym1 (a6989586621680350749 :: Maybe a) = 'First a6989586621680350749 :: First (a :: Type)
- data GetFirstSym0 a6989586621680350752
- type GetFirstSym1 (a6989586621680350752 :: First (a :: Type)) = GetFirst a6989586621680350752 :: Maybe a
- data LastSym0 a6989586621680350776
- type LastSym1 (a6989586621680350776 :: Maybe a) = 'Last a6989586621680350776 :: Last (a :: Type)
- data GetLastSym0 a6989586621680350779
- type GetLastSym1 (a6989586621680350779 :: Last (a :: Type)) = GetLast a6989586621680350779 :: Maybe a
Documentation
Instances
PMonoid Ordering Source # | |
PMonoid Symbol Source # | |
PMonoid () Source # | |
PMonoid All Source # | |
PMonoid Any Source # | |
PMonoid [a] Source # | |
PMonoid (Maybe a) Source # | |
PMonoid (Min a) Source # | |
PMonoid (Max a) Source # | |
PMonoid (WrappedMonoid m) Source # | |
PMonoid (Option a) Source # | |
PMonoid (Identity a) Source # | |
PMonoid (First a) Source # | |
PMonoid (Last a) Source # | |
PMonoid (Dual a) Source # | |
PMonoid (Sum a) Source # | |
PMonoid (Product a) Source # | |
PMonoid (Down a) Source # | |
PMonoid (a, b) Source # | |
PMonoid (Proxy s) 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 #
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_6989586621680347251Sym0 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_6989586621680347265Sym0 t => Sing t -> Sing (Apply MconcatSym0 t :: a) Source #
Instances
The singleton kind-indexed type family.
Instances
Instances
SDecide Bool => TestCoercion SAll Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal | |
SDecide Bool => TestEquality SAll Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal | |
ShowSing Bool => Show (SAll z) Source # | |
Instances
SDecide Bool => TestCoercion SAny Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal | |
SDecide Bool => TestEquality SAny Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal | |
ShowSing Bool => Show (SAny z) Source # | |
type family GetProduct a where ... Source #
GetProduct ('Product field) = field |
sGetDual :: forall (a :: Type) (t :: Dual (a :: Type)). Sing t -> Sing (Apply GetDualSym0 t :: a) Source #
sGetSum :: forall (a :: Type) (t :: Sum (a :: Type)). Sing t -> Sing (Apply GetSumSym0 t :: a) Source #
sGetProduct :: forall (a :: Type) (t :: Product (a :: Type)). Sing t -> Sing (Apply GetProductSym0 t :: a) Source #
sGetFirst :: forall (a :: Type) (t :: First (a :: Type)). Sing t -> Sing (Apply GetFirstSym0 t :: Maybe a) Source #
sGetLast :: forall (a :: Type) (t :: Last (a :: Type)). Sing t -> Sing (Apply GetLastSym0 t :: Maybe a) Source #
Defunctionalization symbols
type MemptySym0 = Mempty :: a Source #
data MappendSym0 a6989586621680347244 Source #
Instances
SMonoid a => SingI (MappendSym0 :: TyFun a (a ~> a) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid sing :: Sing MappendSym0 Source # | |
SuppressUnusedWarnings (MappendSym0 :: TyFun a (a ~> a) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid suppressUnusedWarnings :: () Source # | |
type Apply (MappendSym0 :: TyFun a (a ~> a) -> Type) (a6989586621680347244 :: a) Source # | |
Defined in Data.Singletons.Prelude.Monoid type Apply (MappendSym0 :: TyFun a (a ~> a) -> Type) (a6989586621680347244 :: a) = MappendSym1 a6989586621680347244 |
data MappendSym1 a6989586621680347244 a6989586621680347245 Source #
Instances
(SMonoid a, SingI d) => SingI (MappendSym1 d :: TyFun a a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid sing :: Sing (MappendSym1 d) Source # | |
SuppressUnusedWarnings (MappendSym1 a6989586621680347244 :: TyFun a a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid suppressUnusedWarnings :: () Source # | |
type Apply (MappendSym1 a6989586621680347244 :: TyFun a a -> Type) (a6989586621680347245 :: a) Source # | |
Defined in Data.Singletons.Prelude.Monoid type Apply (MappendSym1 a6989586621680347244 :: TyFun a a -> Type) (a6989586621680347245 :: a) = MappendSym2 a6989586621680347244 a6989586621680347245 |
type MappendSym2 (a6989586621680347244 :: a) (a6989586621680347245 :: a) = Mappend a6989586621680347244 a6989586621680347245 :: a Source #
data MconcatSym0 a6989586621680347248 Source #
Instances
SMonoid a => SingI (MconcatSym0 :: TyFun [a] a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid sing :: Sing MconcatSym0 Source # | |
SuppressUnusedWarnings (MconcatSym0 :: TyFun [a] a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid suppressUnusedWarnings :: () Source # | |
type Apply (MconcatSym0 :: TyFun [a] a -> Type) (a6989586621680347248 :: [a]) Source # | |
Defined in Data.Singletons.Prelude.Monoid type Apply (MconcatSym0 :: TyFun [a] a -> Type) (a6989586621680347248 :: [a]) = MconcatSym1 a6989586621680347248 |
type MconcatSym1 (a6989586621680347248 :: [a]) = Mconcat a6989586621680347248 :: a Source #
data DualSym0 a6989586621679840113 Source #
Instances
SingI (DualSym0 :: TyFun a (Dual a) -> Type) Source # | |
SuppressUnusedWarnings (DualSym0 :: TyFun a (Dual a) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal suppressUnusedWarnings :: () Source # | |
type Apply (DualSym0 :: TyFun a (Dual a) -> Type) (a6989586621679840113 :: a) Source # | |
data GetDualSym0 a6989586621679840116 Source #
Instances
SingI (GetDualSym0 :: TyFun (Dual a) a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal sing :: Sing GetDualSym0 Source # | |
SuppressUnusedWarnings (GetDualSym0 :: TyFun (Dual a) a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal suppressUnusedWarnings :: () Source # | |
type Apply (GetDualSym0 :: TyFun (Dual a) a -> Type) (a6989586621679840116 :: Dual a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (GetDualSym0 :: TyFun (Dual a) a -> Type) (a6989586621679840116 :: Dual a) = GetDualSym1 a6989586621679840116 |
type GetDualSym1 (a6989586621679840116 :: Dual (a :: Type)) = GetDual a6989586621679840116 :: a Source #
data AllSym0 a6989586621679840130 Source #
Instances
SingI AllSym0 Source # | |
SuppressUnusedWarnings AllSym0 Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal suppressUnusedWarnings :: () Source # | |
type Apply AllSym0 (a6989586621679840130 :: Bool) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal |
data GetAllSym0 a6989586621679840133 Source #
Instances
SingI GetAllSym0 Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal sing :: Sing GetAllSym0 Source # | |
SuppressUnusedWarnings GetAllSym0 Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal suppressUnusedWarnings :: () Source # | |
type Apply GetAllSym0 (a6989586621679840133 :: All) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal |
data AnySym0 a6989586621679840147 Source #
Instances
SingI AnySym0 Source # | |
SuppressUnusedWarnings AnySym0 Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal suppressUnusedWarnings :: () Source # | |
type Apply AnySym0 (a6989586621679840147 :: Bool) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal |
data GetAnySym0 a6989586621679840150 Source #
Instances
SingI GetAnySym0 Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal sing :: Sing GetAnySym0 Source # | |
SuppressUnusedWarnings GetAnySym0 Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal suppressUnusedWarnings :: () Source # | |
type Apply GetAnySym0 (a6989586621679840150 :: Any) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal |
data SumSym0 a6989586621679840169 Source #
Instances
data GetSumSym0 a6989586621679840172 Source #
Instances
SingI (GetSumSym0 :: TyFun (Sum a) a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal sing :: Sing GetSumSym0 Source # | |
SuppressUnusedWarnings (GetSumSym0 :: TyFun (Sum a) a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal suppressUnusedWarnings :: () Source # | |
type Apply (GetSumSym0 :: TyFun (Sum a) a -> Type) (a6989586621679840172 :: Sum a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (GetSumSym0 :: TyFun (Sum a) a -> Type) (a6989586621679840172 :: Sum a) = GetSumSym1 a6989586621679840172 |
type GetSumSym1 (a6989586621679840172 :: Sum (a :: Type)) = GetSum a6989586621679840172 :: a Source #
data ProductSym0 a6989586621679840191 Source #
Instances
SingI (ProductSym0 :: TyFun a (Product a) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal sing :: Sing ProductSym0 Source # | |
SuppressUnusedWarnings (ProductSym0 :: TyFun a (Product a) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal suppressUnusedWarnings :: () Source # | |
type Apply (ProductSym0 :: TyFun a (Product a) -> Type) (a6989586621679840191 :: a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (ProductSym0 :: TyFun a (Product a) -> Type) (a6989586621679840191 :: a) = ProductSym1 a6989586621679840191 |
type ProductSym1 (a6989586621679840191 :: a) = 'Product a6989586621679840191 :: Product (a :: Type) Source #
data GetProductSym0 a6989586621679840194 Source #
Instances
SingI (GetProductSym0 :: TyFun (Product a) a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal | |
SuppressUnusedWarnings (GetProductSym0 :: TyFun (Product a) a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal suppressUnusedWarnings :: () Source # | |
type Apply (GetProductSym0 :: TyFun (Product a) a -> Type) (a6989586621679840194 :: Product a) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal type Apply (GetProductSym0 :: TyFun (Product a) a -> Type) (a6989586621679840194 :: Product a) = GetProductSym1 a6989586621679840194 |
type GetProductSym1 (a6989586621679840194 :: Product (a :: Type)) = GetProduct a6989586621679840194 :: a Source #
data FirstSym0 a6989586621680350749 Source #
Instances
SingI (FirstSym0 :: TyFun (Maybe a) (First a) -> Type) Source # | |
SuppressUnusedWarnings (FirstSym0 :: TyFun (Maybe a) (First a) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid suppressUnusedWarnings :: () Source # | |
type Apply (FirstSym0 :: TyFun (Maybe a) (First a) -> Type) (a6989586621680350749 :: Maybe a) Source # | |
type FirstSym1 (a6989586621680350749 :: Maybe a) = 'First a6989586621680350749 :: First (a :: Type) Source #
data GetFirstSym0 a6989586621680350752 Source #
Instances
SingI (GetFirstSym0 :: TyFun (First a) (Maybe a) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid sing :: Sing GetFirstSym0 Source # | |
SuppressUnusedWarnings (GetFirstSym0 :: TyFun (First a) (Maybe a) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid suppressUnusedWarnings :: () Source # | |
type Apply (GetFirstSym0 :: TyFun (First a) (Maybe a) -> Type) (a6989586621680350752 :: First a) Source # | |
Defined in Data.Singletons.Prelude.Monoid type Apply (GetFirstSym0 :: TyFun (First a) (Maybe a) -> Type) (a6989586621680350752 :: First a) = GetFirstSym1 a6989586621680350752 |
type GetFirstSym1 (a6989586621680350752 :: First (a :: Type)) = GetFirst a6989586621680350752 :: Maybe a Source #
data LastSym0 a6989586621680350776 Source #
Instances
SingI (LastSym0 :: TyFun (Maybe a) (Last a) -> Type) Source # | |
SuppressUnusedWarnings (LastSym0 :: TyFun (Maybe a) (Last a) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid suppressUnusedWarnings :: () Source # | |
type Apply (LastSym0 :: TyFun (Maybe a) (Last a) -> Type) (a6989586621680350776 :: Maybe a) Source # | |
type LastSym1 (a6989586621680350776 :: Maybe a) = 'Last a6989586621680350776 :: Last (a :: Type) Source #
data GetLastSym0 a6989586621680350779 Source #
Instances
SingI (GetLastSym0 :: TyFun (Last a) (Maybe a) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid sing :: Sing GetLastSym0 Source # | |
SuppressUnusedWarnings (GetLastSym0 :: TyFun (Last a) (Maybe a) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Monoid suppressUnusedWarnings :: () Source # | |
type Apply (GetLastSym0 :: TyFun (Last a) (Maybe a) -> Type) (a6989586621680350779 :: Last a) Source # | |
Defined in Data.Singletons.Prelude.Monoid type Apply (GetLastSym0 :: TyFun (Last a) (Maybe a) -> Type) (a6989586621680350779 :: Last a) = GetLastSym1 a6989586621680350779 |
type GetLastSym1 (a6989586621680350779 :: Last (a :: Type)) = GetLast a6989586621680350779 :: Maybe a Source #