| Copyright | (C) 2020 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 |
Data.Proxy.Singletons
Description
Exports promoted and singled versions of the definitions in Data.Proxy.
Synopsis
- type family Sing :: k -> Type
- data SProxy :: Proxy t -> Type where
- type family AsProxyTypeOf (a :: a) (a :: proxy a) :: a where ...
- sAsProxyTypeOf :: forall a proxy (t :: a) (t :: proxy a). Sing t -> Sing t -> Sing (Apply (Apply AsProxyTypeOfSym0 t) t :: a)
- type family ProxySym0 where ...
- data AsProxyTypeOfSym0 :: (~>) a ((~>) (proxy a) a)
- data AsProxyTypeOfSym1 (a6989586621680394739 :: a) :: (~>) (proxy a) a
- type family AsProxyTypeOfSym2 (a6989586621680394739 :: a) (a6989586621680394740 :: proxy a) :: a where ...
The Proxy singleton
type family Sing :: k -> Type #
Instances
data SProxy :: Proxy t -> Type where Source #
Instances
| TestCoercion (SProxy :: Proxy t -> Type) Source # | |
Defined in Data.Proxy.Singletons | |
| TestEquality (SProxy :: Proxy t -> Type) Source # | |
Defined in Data.Proxy.Singletons | |
| Show (SProxy z) Source # | |
type family AsProxyTypeOf (a :: a) (a :: proxy a) :: a where ... Source #
Equations
| AsProxyTypeOf a_6989586621680394732 a_6989586621680394734 = Apply (Apply ConstSym0 a_6989586621680394732) a_6989586621680394734 |
sAsProxyTypeOf :: forall a proxy (t :: a) (t :: proxy a). Sing t -> Sing t -> Sing (Apply (Apply AsProxyTypeOfSym0 t) t :: a) Source #
Defunctionalization symbols
data AsProxyTypeOfSym0 :: (~>) a ((~>) (proxy a) a) Source #
Instances
| SingI (AsProxyTypeOfSym0 :: TyFun a (proxy a ~> a) -> Type) Source # | |
Defined in Data.Proxy.Singletons Methods | |
| 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) (a6989586621680394739 :: a) Source # | |
Defined in Data.Proxy.Singletons type Apply (AsProxyTypeOfSym0 :: TyFun a (proxy a ~> a) -> Type) (a6989586621680394739 :: a) = AsProxyTypeOfSym1 a6989586621680394739 :: TyFun (proxy a) a -> Type | |
data AsProxyTypeOfSym1 (a6989586621680394739 :: a) :: (~>) (proxy a) a Source #
Instances
| SingI1 (AsProxyTypeOfSym1 :: a -> TyFun (proxy a) a -> Type) Source # | |
Defined in Data.Proxy.Singletons Methods liftSing :: forall (x :: k1). Sing x -> Sing (AsProxyTypeOfSym1 x) | |
| SingI d => SingI (AsProxyTypeOfSym1 d :: TyFun (proxy a) a -> Type) Source # | |
Defined in Data.Proxy.Singletons Methods sing :: Sing (AsProxyTypeOfSym1 d) | |
| SuppressUnusedWarnings (AsProxyTypeOfSym1 a6989586621680394739 :: TyFun (proxy a) a -> Type) Source # | |
Defined in Data.Proxy.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (AsProxyTypeOfSym1 a6989586621680394739 :: TyFun (proxy a) a -> Type) (a6989586621680394740 :: proxy a) Source # | |
Defined in Data.Proxy.Singletons type Apply (AsProxyTypeOfSym1 a6989586621680394739 :: TyFun (proxy a) a -> Type) (a6989586621680394740 :: proxy a) = AsProxyTypeOf a6989586621680394739 a6989586621680394740 | |
type family AsProxyTypeOfSym2 (a6989586621680394739 :: a) (a6989586621680394740 :: proxy a) :: a where ... Source #
Equations
| AsProxyTypeOfSym2 a6989586621680394739 a6989586621680394740 = AsProxyTypeOf a6989586621680394739 a6989586621680394740 |
Orphan instances
| PAlternative (Proxy :: k -> Type) Source # | |
| PMonadPlus (Proxy :: k -> Type) Source # | |
| PApplicative (Proxy :: Type -> Type) Source # | |
| PFunctor (Proxy :: Type -> Type) Source # | |
| PMonad (Proxy :: Type -> Type) Source # | |
| SAlternative (Proxy :: Type -> Type) Source # | |
| SApplicative (Proxy :: Type -> Type) Source # | |
Methods sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: Proxy (a ~> b)) (t :: Proxy a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Proxy a) (t :: Proxy b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: Proxy a) (t :: Proxy b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: Proxy a) (t :: Proxy b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
| SFunctor (Proxy :: Type -> Type) Source # | |
| SMonad (Proxy :: Type -> Type) Source # | |
Methods (%>>=) :: forall a b (t :: Proxy a) (t :: a ~> Proxy b). Sing t -> Sing t -> Sing (Apply (Apply (>>=@#@$) t) t) Source # (%>>) :: forall a b (t :: Proxy a) (t :: Proxy b). Sing t -> Sing t -> Sing (Apply (Apply (>>@#@$) t) t) Source # sReturn :: forall a (t :: a). Sing t -> Sing (Apply ReturnSym0 t) 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 # | |
| SMonoid (Proxy s) Source # | |
| POrd (Proxy s) Source # | |
| SOrd (Proxy s) Source # | |
Methods sCompare :: forall (t :: Proxy s) (t :: Proxy s). Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source # (%<) :: forall (t :: Proxy s) (t :: Proxy s). Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source # (%<=) :: forall (t :: Proxy s) (t :: Proxy s). Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source # (%>) :: forall (t :: Proxy s) (t :: Proxy s). Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source # (%>=) :: forall (t :: Proxy s) (t :: Proxy s). Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source # sMax :: forall (t :: Proxy s) (t :: Proxy s). Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source # sMin :: forall (t :: Proxy s) (t :: Proxy s). Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source # | |
| PSemigroup (Proxy s) Source # | |
| SSemigroup (Proxy s) Source # | |
| PBounded (Proxy s) Source # | |
| PEnum (Proxy s) Source # | |
| SBounded (Proxy s) Source # | |
| SEnum (Proxy s) Source # | |
Methods sSucc :: forall (t :: Proxy s). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Proxy s). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Proxy s). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: Proxy s) (t :: Proxy s). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: Proxy s) (t :: Proxy s) (t :: Proxy s). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # | |
| PShow (Proxy s) Source # | |
| SShow (Proxy s) Source # | |
Methods sShowsPrec :: forall (t :: Natural) (t :: Proxy s) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) Source # sShow_ :: forall (t :: Proxy s). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t :: [Proxy s]) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) Source # | |
| SingI ('Proxy :: Proxy t) Source # | |