Copyright | (C) 2020 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.Proxy.Singletons
Description
Exports promoted and singled versions of the definitions in Data.Proxy.
Synopsis
- type family Sing :: k -> Type
- data SProxy (a :: Proxy t) where
- type family AsProxyTypeOf (a1 :: a) (a2 :: proxy a) :: a where ...
- sAsProxyTypeOf :: forall a (proxy :: Type -> Type) (t1 :: a) (t2 :: proxy a). Sing t1 -> Sing t2 -> Sing (AsProxyTypeOf t1 t2)
- type family ProxySym0 :: Proxy t where ...
- data AsProxyTypeOfSym0 (a1 :: TyFun a (proxy a ~> a))
- data AsProxyTypeOfSym1 (a6989586621679900552 :: a) (b :: TyFun (proxy a) a)
- type family AsProxyTypeOfSym2 (a6989586621679900552 :: a) (a6989586621679900553 :: proxy a) :: a where ...
The Proxy
singleton
type family Sing :: k -> Type #
Instances
type family AsProxyTypeOf (a1 :: a) (a2 :: proxy a) :: a where ... Source #
sAsProxyTypeOf :: forall a (proxy :: Type -> Type) (t1 :: a) (t2 :: proxy a). Sing t1 -> Sing t2 -> Sing (AsProxyTypeOf t1 t2) Source #
Defunctionalization symbols
data AsProxyTypeOfSym0 (a1 :: TyFun a (proxy a ~> a)) Source #
Instances
SingI (AsProxyTypeOfSym0 :: TyFun a (proxy a ~> a) -> Type) Source # | |
Defined in Data.Proxy.Singletons | |
SuppressUnusedWarnings (AsProxyTypeOfSym0 :: TyFun a (proxy a ~> a) -> Type) Source # | |
Defined in Data.Proxy.Singletons Methods suppressUnusedWarnings :: () # | |
type Apply (AsProxyTypeOfSym0 :: TyFun a (proxy a ~> a) -> Type) (a6989586621679900552 :: a) Source # | |
Defined in Data.Proxy.Singletons type Apply (AsProxyTypeOfSym0 :: TyFun a (proxy a ~> a) -> Type) (a6989586621679900552 :: a) = AsProxyTypeOfSym1 a6989586621679900552 :: TyFun (proxy a) a -> Type |
data AsProxyTypeOfSym1 (a6989586621679900552 :: a) (b :: TyFun (proxy a) a) Source #
Instances
SingI1 (AsProxyTypeOfSym1 :: a -> TyFun (proxy a) a -> Type) Source # | |
Defined in Data.Proxy.Singletons | |
SingI d => SingI (AsProxyTypeOfSym1 d :: TyFun (proxy a) a -> Type) Source # | |
Defined in Data.Proxy.Singletons | |
SuppressUnusedWarnings (AsProxyTypeOfSym1 a6989586621679900552 :: TyFun (proxy a) a -> Type) Source # | |
Defined in Data.Proxy.Singletons Methods suppressUnusedWarnings :: () # | |
type Apply (AsProxyTypeOfSym1 a6989586621679900552 :: TyFun (proxy a) a -> Type) (a6989586621679900553 :: proxy a) Source # | |
Defined in Data.Proxy.Singletons type Apply (AsProxyTypeOfSym1 a6989586621679900552 :: TyFun (proxy a) a -> Type) (a6989586621679900553 :: proxy a) = AsProxyTypeOf a6989586621679900552 a6989586621679900553 |
type family AsProxyTypeOfSym2 (a6989586621679900552 :: a) (a6989586621679900553 :: proxy a) :: a where ... Source #
Equations
AsProxyTypeOfSym2 (a6989586621679900552 :: a) (a6989586621679900553 :: proxy a) = AsProxyTypeOf a6989586621679900552 a6989586621679900553 |
Orphan instances
PAlternative (Proxy :: Type -> Type) Source # | |||||||||||||||||||||
Associated Types
| |||||||||||||||||||||
PApplicative (Proxy :: Type -> Type) Source # | |||||||||||||||||||||
Associated Types
| |||||||||||||||||||||
PFunctor (Proxy :: Type -> Type) Source # | |||||||||||||||||||||
PMonad (Proxy :: Type -> Type) Source # | |||||||||||||||||||||
Associated Types
| |||||||||||||||||||||
PMonadPlus (Proxy :: Type -> Type) Source # | |||||||||||||||||||||
Associated Types
| |||||||||||||||||||||
SAlternative (Proxy :: Type -> Type) Source # | |||||||||||||||||||||
SApplicative (Proxy :: Type -> Type) Source # | |||||||||||||||||||||
Methods sPure :: forall a (t :: a). Sing t -> Sing (Pure t :: Proxy a) Source # (%<*>) :: forall a b (t1 :: Proxy (a ~> b)) (t2 :: Proxy a). Sing t1 -> Sing t2 -> Sing (t1 <*> t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Proxy a) (t3 :: Proxy b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (LiftA2 t1 t2 t3) Source # (%*>) :: forall a b (t1 :: Proxy a) (t2 :: Proxy b). Sing t1 -> Sing t2 -> Sing (t1 *> t2) Source # (%<*) :: forall a b (t1 :: Proxy a) (t2 :: Proxy b). Sing t1 -> Sing t2 -> Sing (t1 <* t2) Source # | |||||||||||||||||||||
SFunctor (Proxy :: Type -> Type) Source # | |||||||||||||||||||||
SMonad (Proxy :: Type -> Type) Source # | |||||||||||||||||||||
SMonadPlus (Proxy :: Type -> Type) Source # | |||||||||||||||||||||
SingKind (Proxy t) Source # | |||||||||||||||||||||
SDecide (Proxy t) Source # | |||||||||||||||||||||
PEq (Proxy s) Source # | |||||||||||||||||||||
SEq (Proxy s) Source # | |||||||||||||||||||||
PMonoid (Proxy s) Source # | |||||||||||||||||||||
Associated Types
| |||||||||||||||||||||
SMonoid (Proxy s) Source # | |||||||||||||||||||||
POrd (Proxy s) Source # | |||||||||||||||||||||
SOrd (Proxy s) Source # | |||||||||||||||||||||
Methods sCompare :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (Compare t1 t2) Source # (%<) :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (t1 < t2) Source # (%<=) :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (t1 <= t2) Source # (%>) :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (t1 > t2) Source # (%>=) :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (t1 >= t2) Source # sMax :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (Max t1 t2) Source # sMin :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (Min t1 t2) Source # | |||||||||||||||||||||
PSemigroup (Proxy s) Source # | |||||||||||||||||||||
SSemigroup (Proxy s) Source # | |||||||||||||||||||||
PBounded (Proxy s) Source # | |||||||||||||||||||||
Associated Types
| |||||||||||||||||||||
PEnum (Proxy s) Source # | |||||||||||||||||||||
SBounded (Proxy s) Source # | |||||||||||||||||||||
SEnum (Proxy s) Source # | |||||||||||||||||||||
Methods sSucc :: forall (t :: Proxy s). Sing t -> Sing (Succ t) Source # sPred :: forall (t :: Proxy s). Sing t -> Sing (Pred t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (ToEnum t :: Proxy s) Source # sFromEnum :: forall (t :: Proxy s). Sing t -> Sing (FromEnum t) Source # sEnumFromTo :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (EnumFromTo t1 t2) Source # sEnumFromThenTo :: forall (t1 :: Proxy s) (t2 :: Proxy s) (t3 :: Proxy s). Sing t1 -> Sing t2 -> Sing t3 -> Sing (EnumFromThenTo t1 t2 t3) Source # | |||||||||||||||||||||
PShow (Proxy s) Source # | |||||||||||||||||||||
SShow (Proxy s) Source # | |||||||||||||||||||||
Methods sShowsPrec :: forall (t1 :: Natural) (t2 :: Proxy s) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (ShowsPrec t1 t2 t3) Source # sShow_ :: forall (t :: Proxy s). Sing t -> Sing (Show_ t) Source # sShowList :: forall (t1 :: [Proxy s]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (ShowList t1 t2) Source # | |||||||||||||||||||||
SingI ('Proxy :: Proxy t) Source # | |||||||||||||||||||||