Copyright | (C) 2018 Ryan Scott |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Richard Eisenberg (rae@cs.brynmawr.edu) |
Stability | experimental |
Portability | non-portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Exports the promoted and singled versions of the Identity
data type.
Synopsis
- type family Sing :: k -> Type
- data SIdentity :: forall (a :: Type). Identity a -> Type where
- type family RunIdentity (a :: Identity (a :: Type)) :: a where ...
- sRunIdentity :: forall (a :: Type) (t :: Identity (a :: Type)). Sing t -> Sing (Apply RunIdentitySym0 t :: a)
- data IdentitySym0 :: (~>) a (Identity (a :: Type))
- type family IdentitySym1 (a6989586621679043019 :: a) :: Identity (a :: Type) where ...
- data RunIdentitySym0 :: (~>) (Identity (a :: Type)) a
- type family RunIdentitySym1 (a6989586621679043022 :: Identity (a :: Type)) :: a where ...
The Identity
singleton
type family Sing :: k -> Type #
Instances
data SIdentity :: forall (a :: Type). Identity a -> Type where Source #
SIdentity :: forall (a :: Type) (n :: a). (Sing n) -> SIdentity ('Identity n :: Identity (a :: Type)) |
Instances
SDecide a => TestCoercion (SIdentity :: Identity a -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
SDecide a => TestEquality (SIdentity :: Identity a -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
ShowSing a => Show (SIdentity z) Source # | |
type family RunIdentity (a :: Identity (a :: Type)) :: a where ... Source #
RunIdentity ('Identity field) = field |
sRunIdentity :: forall (a :: Type) (t :: Identity (a :: Type)). Sing t -> Sing (Apply RunIdentitySym0 t :: a) Source #
Defunctionalization symbols
data IdentitySym0 :: (~>) a (Identity (a :: Type)) Source #
Instances
SingI (IdentitySym0 :: TyFun a (Identity a) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances sing :: Sing IdentitySym0 | |
SuppressUnusedWarnings (IdentitySym0 :: TyFun a (Identity a) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (IdentitySym0 :: TyFun a (Identity a) -> Type) (a6989586621679043019 :: a) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (IdentitySym0 :: TyFun a (Identity a) -> Type) (a6989586621679043019 :: a) = 'Identity a6989586621679043019 |
type family IdentitySym1 (a6989586621679043019 :: a) :: Identity (a :: Type) where ... Source #
IdentitySym1 a6989586621679043019 = 'Identity a6989586621679043019 |
data RunIdentitySym0 :: (~>) (Identity (a :: Type)) a Source #
Instances
SingI (RunIdentitySym0 :: TyFun (Identity a) a -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
SuppressUnusedWarnings (RunIdentitySym0 :: TyFun (Identity a) a -> Type) Source # | |
Defined in Data.Singletons.Base.Instances suppressUnusedWarnings :: () # | |
type Apply (RunIdentitySym0 :: TyFun (Identity a) a -> Type) (a6989586621679043022 :: Identity a) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (RunIdentitySym0 :: TyFun (Identity a) a -> Type) (a6989586621679043022 :: Identity a) = RunIdentity a6989586621679043022 |
type family RunIdentitySym1 (a6989586621679043022 :: Identity (a :: Type)) :: a where ... Source #
RunIdentitySym1 a6989586621679043022 = RunIdentity a6989586621679043022 |
Orphan instances
PApplicative Identity Source # | |
PFunctor Identity Source # | |
PMonad Identity Source # | |
SApplicative Identity Source # | |
sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: Identity (a ~> b)) (t :: Identity a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Identity a) (t :: Identity b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: Identity a) (t :: Identity b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: Identity a) (t :: Identity b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SFunctor Identity Source # | |
SMonad Identity Source # | |
(%>>=) :: forall a b (t :: Identity a) (t :: a ~> Identity b). Sing t -> Sing t -> Sing (Apply (Apply (>>=@#@$) t) t) Source # (%>>) :: forall a b (t :: Identity a) (t :: Identity b). Sing t -> Sing t -> Sing (Apply (Apply (>>@#@$) t) t) Source # sReturn :: forall a (t :: a). Sing t -> Sing (Apply ReturnSym0 t) Source # | |
PFoldable Identity Source # | |
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 :: Natural Source # type Elem arg arg :: Bool Source # type Maximum arg :: a Source # | |
SFoldable Identity Source # | |
sFold :: forall m (t :: Identity m). SMonoid m => Sing t -> Sing (Apply FoldSym0 t) Source # sFoldMap :: forall a m (t :: a ~> m) (t :: Identity 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 :: Identity 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 :: Identity 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 :: Identity 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 :: Identity 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 :: Identity a). Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t) Source # sFoldl1 :: forall a (t :: a ~> (a ~> a)) (t :: Identity a). Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t) Source # sToList :: forall a (t :: Identity a). Sing t -> Sing (Apply ToListSym0 t) Source # sNull :: forall a (t :: Identity a). Sing t -> Sing (Apply NullSym0 t) Source # sLength :: forall a (t :: Identity a). Sing t -> Sing (Apply LengthSym0 t) Source # sElem :: forall a (t :: a) (t :: Identity a). SEq a => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t) Source # sMaximum :: forall a (t :: Identity a). SOrd a => Sing t -> Sing (Apply MaximumSym0 t) Source # sMinimum :: forall a (t :: Identity a). SOrd a => Sing t -> Sing (Apply MinimumSym0 t) Source # sSum :: forall a (t :: Identity a). SNum a => Sing t -> Sing (Apply SumSym0 t) Source # sProduct :: forall a (t :: Identity a). SNum a => Sing t -> Sing (Apply ProductSym0 t) Source # | |
PMonoid (Identity a) Source # | |
SMonoid a => SMonoid (Identity a) Source # | |
PSemigroup (Identity a) Source # | |
SSemigroup a => SSemigroup (Identity a) Source # | |
PEnum (Identity a) Source # | |
SEnum a => SEnum (Identity a) Source # | |
sSucc :: forall (t :: Identity a). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Identity a). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Identity a). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: Identity a) (t :: Identity a). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: Identity a) (t :: Identity a) (t :: Identity a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # | |
PNum (Identity a) Source # | |
SNum a => SNum (Identity a) Source # | |
(%+) :: forall (t :: Identity a) (t :: Identity a). Sing t -> Sing t -> Sing (Apply (Apply (+@#@$) t) t) Source # (%-) :: forall (t :: Identity a) (t :: Identity a). Sing t -> Sing t -> Sing (Apply (Apply (-@#@$) t) t) Source # (%*) :: forall (t :: Identity a) (t :: Identity a). Sing t -> Sing t -> Sing (Apply (Apply (*@#@$) t) t) Source # sNegate :: forall (t :: Identity a). Sing t -> Sing (Apply NegateSym0 t) Source # sAbs :: forall (t :: Identity a). Sing t -> Sing (Apply AbsSym0 t) Source # sSignum :: forall (t :: Identity a). Sing t -> Sing (Apply SignumSym0 t) Source # sFromInteger :: forall (t :: Natural). Sing t -> Sing (Apply FromIntegerSym0 t) Source # | |
PShow (Identity a) Source # | |
SShow a => SShow (Identity a) Source # | |
sShowsPrec :: forall (t :: Natural) (t :: Identity a) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) Source # sShow_ :: forall (t :: Identity a). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t :: [Identity a]) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) Source # |