Copyright | (C) 2018 Ryan Scott |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Richard Eisenberg (rae@cs.brynmawr.edu) |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | GHC2021 |
Data.Functor.Identity.Singletons
Description
Exports the promoted and singled versions of the Identity
data type.
Synopsis
- type family Sing :: k -> Type
- data SIdentity (a1 :: Identity a) where
- type family RunIdentity (a1 :: Identity a) :: a where ...
- sRunIdentity :: forall a (t :: Identity a). Sing t -> Sing (RunIdentity t)
- data IdentitySym0 (a1 :: TyFun a (Identity a))
- type family IdentitySym1 (a6989586621679051204 :: a) :: Identity a where ...
- data RunIdentitySym0 (a1 :: TyFun (Identity a) a)
- type family RunIdentitySym1 (a6989586621679051207 :: Identity a) :: a where ...
The Identity
singleton
type family Sing :: k -> Type #
Instances
type family RunIdentity (a1 :: Identity a) :: a where ... Source #
Equations
RunIdentity ('Identity field :: Identity a) = field |
sRunIdentity :: forall a (t :: Identity a). Sing t -> Sing (RunIdentity t) Source #
Defunctionalization symbols
data IdentitySym0 (a1 :: TyFun a (Identity a)) Source #
Instances
SingI (IdentitySym0 :: TyFun a (Identity a) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances | |
SuppressUnusedWarnings (IdentitySym0 :: TyFun a (Identity a) -> Type) Source # | |
Defined in Data.Singletons.Base.Instances Methods suppressUnusedWarnings :: () # | |
type Apply (IdentitySym0 :: TyFun a (Identity a) -> Type) (a6989586621679051204 :: a) Source # | |
Defined in Data.Singletons.Base.Instances |
type family IdentitySym1 (a6989586621679051204 :: a) :: Identity a where ... Source #
Equations
IdentitySym1 (a6989586621679051204 :: a) = 'Identity a6989586621679051204 |
data RunIdentitySym0 (a1 :: TyFun (Identity a) 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 Methods suppressUnusedWarnings :: () # | |
type Apply (RunIdentitySym0 :: TyFun (Identity a) a -> Type) (a6989586621679051207 :: Identity a) Source # | |
Defined in Data.Singletons.Base.Instances type Apply (RunIdentitySym0 :: TyFun (Identity a) a -> Type) (a6989586621679051207 :: Identity a) = RunIdentity a6989586621679051207 |
type family RunIdentitySym1 (a6989586621679051207 :: Identity a) :: a where ... Source #
Equations
RunIdentitySym1 (a6989586621679051207 :: Identity a) = RunIdentity a6989586621679051207 |
Orphan instances
PApplicative Identity Source # | |||||||||||||||||||||
Associated Types
| |||||||||||||||||||||
PFunctor Identity Source # | |||||||||||||||||||||
PMonad Identity Source # | |||||||||||||||||||||
Associated Types
| |||||||||||||||||||||
SApplicative Identity Source # | |||||||||||||||||||||
Methods sPure :: forall a (t :: a). Sing t -> Sing (Pure t :: Identity a) Source # (%<*>) :: forall a b (t1 :: Identity (a ~> b)) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (t1 <*> t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Identity a) (t3 :: Identity b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (LiftA2 t1 t2 t3) Source # (%*>) :: forall a b (t1 :: Identity a) (t2 :: Identity b). Sing t1 -> Sing t2 -> Sing (t1 *> t2) Source # (%<*) :: forall a b (t1 :: Identity a) (t2 :: Identity b). Sing t1 -> Sing t2 -> Sing (t1 <* t2) Source # | |||||||||||||||||||||
SFunctor Identity Source # | |||||||||||||||||||||
SMonad Identity Source # | |||||||||||||||||||||
Methods (%>>=) :: forall a b (t1 :: Identity a) (t2 :: a ~> Identity b). Sing t1 -> Sing t2 -> Sing (t1 >>= t2) Source # (%>>) :: forall a b (t1 :: Identity a) (t2 :: Identity b). Sing t1 -> Sing t2 -> Sing (t1 >> t2) Source # sReturn :: forall a (t :: a). Sing t -> Sing (Return t :: Identity a) Source # | |||||||||||||||||||||
PFoldable Identity Source # | |||||||||||||||||||||
Associated Types | |||||||||||||||||||||
SFoldable Identity Source # | |||||||||||||||||||||
Methods sFold :: forall m (t1 :: Identity m). SMonoid m => Sing t1 -> Sing (Fold t1) Source # sFoldMap :: forall a m (t1 :: a ~> m) (t2 :: Identity a). SMonoid m => Sing t1 -> Sing t2 -> Sing (FoldMap t1 t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Identity a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Foldr t1 t2 t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Identity a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Foldr' t1 t2 t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Identity a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Foldl t1 t2 t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Identity a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Foldl' t1 t2 t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Foldr1 t1 t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Foldl1 t1 t2) Source # sToList :: forall a (t1 :: Identity a). Sing t1 -> Sing (ToList t1) Source # sNull :: forall a (t1 :: Identity a). Sing t1 -> Sing (Null t1) Source # sLength :: forall a (t1 :: Identity a). Sing t1 -> Sing (Length t1) Source # sElem :: forall a (t1 :: a) (t2 :: Identity a). SEq a => Sing t1 -> Sing t2 -> Sing (Elem t1 t2) Source # sMaximum :: forall a (t1 :: Identity a). SOrd a => Sing t1 -> Sing (Maximum t1) Source # sMinimum :: forall a (t1 :: Identity a). SOrd a => Sing t1 -> Sing (Minimum t1) Source # sSum :: forall a (t1 :: Identity a). SNum a => Sing t1 -> Sing (Sum t1) Source # sProduct :: forall a (t1 :: Identity a). SNum a => Sing t1 -> Sing (Product t1) Source # | |||||||||||||||||||||
PMonoid (Identity a) Source # | |||||||||||||||||||||
Associated Types
| |||||||||||||||||||||
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 # | |||||||||||||||||||||
Methods sSucc :: forall (t :: Identity a). Sing t -> Sing (Succ t) Source # sPred :: forall (t :: Identity a). Sing t -> Sing (Pred t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (ToEnum t :: Identity a) Source # sFromEnum :: forall (t :: Identity a). Sing t -> Sing (FromEnum t) Source # sEnumFromTo :: forall (t1 :: Identity a) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (EnumFromTo t1 t2) Source # sEnumFromThenTo :: forall (t1 :: Identity a) (t2 :: Identity a) (t3 :: Identity a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (EnumFromThenTo t1 t2 t3) Source # | |||||||||||||||||||||
PNum (Identity a) Source # | |||||||||||||||||||||
SNum a => SNum (Identity a) Source # | |||||||||||||||||||||
Methods (%+) :: forall (t1 :: Identity a) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (t1 + t2) Source # (%-) :: forall (t1 :: Identity a) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (t1 - t2) Source # (%*) :: forall (t1 :: Identity a) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (t1 * t2) Source # sNegate :: forall (t :: Identity a). Sing t -> Sing (Negate t) Source # sAbs :: forall (t :: Identity a). Sing t -> Sing (Abs t) Source # sSignum :: forall (t :: Identity a). Sing t -> Sing (Signum t) Source # sFromInteger :: forall (t :: Natural). Sing t -> Sing (FromInteger t :: Identity a) Source # | |||||||||||||||||||||
PShow (Identity a) Source # | |||||||||||||||||||||
SShow a => SShow (Identity a) Source # | |||||||||||||||||||||
Methods sShowsPrec :: forall (t1 :: Natural) (t2 :: Identity a) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (ShowsPrec t1 t2 t3) Source # sShow_ :: forall (t :: Identity a). Sing t -> Sing (Show_ t) Source # sShowList :: forall (t1 :: [Identity a]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (ShowList t1 t2) Source # |