Copyright | (C) 2018 Ryan Scott |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Ryan Scott |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | GHC2021 |
Data.Functor.Singletons
Description
Defines the promoted and singled versions of the Functor
type class.
Synopsis
- class PFunctor (f :: Type -> Type) where
- class SFunctor (f :: Type -> Type) where
- type family (a1 :: f a) $> (a2 :: b) :: f b where ...
- (%$>) :: forall (f :: Type -> Type) a b (t1 :: f a) (t2 :: b). SFunctor f => Sing t1 -> Sing t2 -> Sing (Apply (Apply (($>@#@$) :: TyFun (f a) (b ~> f b) -> Type) t1) t2)
- type family (a1 :: a ~> b) <$> (a2 :: f a) :: f b where ...
- (%<$>) :: forall a b (f :: Type -> Type) (t1 :: a ~> b) (t2 :: f a). SFunctor f => Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$>@#@$) :: TyFun (a ~> b) (f a ~> f b) -> Type) t1) t2)
- type family (a1 :: f a) <&> (a2 :: a ~> b) :: f b where ...
- (%<&>) :: forall (f :: Type -> Type) a b (t1 :: f a) (t2 :: a ~> b). SFunctor f => Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<&>@#@$) :: TyFun (f a) ((a ~> b) ~> f b) -> Type) t1) t2)
- type family Void (a1 :: f a) :: f () where ...
- sVoid :: forall (f :: Type -> Type) a (t :: f a). SFunctor f => Sing t -> Sing (Apply (VoidSym0 :: TyFun (f a) (f ()) -> Type) t)
- data FmapSym0 (a1 :: TyFun (a ~> b) (f a ~> f b))
- data FmapSym1 (a6989586621679348484 :: a ~> b) (b1 :: TyFun (f a) (f b))
- type family FmapSym2 (a6989586621679348484 :: a ~> b) (a6989586621679348485 :: f a) :: f b where ...
- data (<$@#@$) (a1 :: TyFun a (f b ~> f a))
- data (a6989586621679348489 :: a) <$@#@$$ (b1 :: TyFun (f b) (f a))
- type family (a6989586621679348489 :: a) <$@#@$$$ (a6989586621679348490 :: f b) :: f a where ...
- data ($>@#@$) (a1 :: TyFun (f a) (b ~> f b))
- data (a6989586621679532901 :: f a) $>@#@$$ (b1 :: TyFun b (f b))
- type family (a6989586621679532901 :: f a) $>@#@$$$ (a6989586621679532902 :: b) :: f b where ...
- data (<$>@#@$) (a1 :: TyFun (a ~> b) (f a ~> f b))
- data (a6989586621679532919 :: a ~> b) <$>@#@$$ (b1 :: TyFun (f a) (f b))
- type family (a6989586621679532919 :: a ~> b) <$>@#@$$$ (a6989586621679532920 :: f a) :: f b where ...
- data (<&>@#@$) (a1 :: TyFun (f a) ((a ~> b) ~> f b))
- data (a6989586621679532908 :: f a) <&>@#@$$ (b1 :: TyFun (a ~> b) (f b))
- type family (a6989586621679532908 :: f a) <&>@#@$$$ (a6989586621679532909 :: a ~> b) :: f b where ...
- data VoidSym0 (a1 :: TyFun (f a) (f ()))
- type family VoidSym1 (a6989586621679532892 :: f a) :: f () where ...
Documentation
class PFunctor (f :: Type -> Type) Source #
Instances
class SFunctor (f :: Type -> Type) where Source #
Minimal complete definition
Methods
sFmap :: forall a b (t1 :: a ~> b) (t2 :: f a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (f a ~> f b) -> Type) t1) t2) Source #
(%<$) :: forall a b (t1 :: a) (t2 :: f b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (f b ~> f a) -> Type) t1) t2) infixl 4 Source #
default (%<$) :: forall a b (t1 :: a) (t2 :: f b). Apply (Apply ((<$@#@$) :: TyFun a (f b ~> f a) -> Type) t1) t2 ~ Apply (Apply (TFHelper_6989586621679348493Sym0 :: TyFun a (f b ~> f a) -> Type) t1) t2 => Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (f b ~> f a) -> Type) t1) t2) Source #
Instances
SFunctor Identity Source # | |
Defined in Data.Functor.Identity.Singletons Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (Identity a ~> Identity b) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: Identity b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (Identity b ~> Identity a) -> Type) t1) t2) Source # | |
SFunctor First Source # | |
Defined in Data.Monoid.Singletons Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (First a ~> First b) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: First b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (First b ~> First a) -> Type) t1) t2) Source # | |
SFunctor Last Source # | |
Defined in Data.Monoid.Singletons Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (Last a ~> Last b) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: Last b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (Last b ~> Last a) -> Type) t1) t2) Source # | |
SFunctor Down Source # | |
Defined in Data.Functor.Singletons Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: Down a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (Down a ~> Down b) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: Down b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (Down b ~> Down a) -> Type) t1) t2) Source # | |
SFunctor First Source # | |
Defined in Data.Semigroup.Singletons Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (First a ~> First b) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: First b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (First b ~> First a) -> Type) t1) t2) Source # | |
SFunctor Last Source # | |
Defined in Data.Semigroup.Singletons Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (Last a ~> Last b) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: Last b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (Last b ~> Last a) -> Type) t1) t2) Source # | |
SFunctor Max Source # | |
Defined in Data.Semigroup.Singletons Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (Max a ~> Max b) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: Max b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (Max b ~> Max a) -> Type) t1) t2) Source # | |
SFunctor Min Source # | |
Defined in Data.Semigroup.Singletons Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (Min a ~> Min b) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: Min b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (Min b ~> Min a) -> Type) t1) t2) Source # | |
SFunctor Dual Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: Dual a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (Dual a ~> Dual b) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: Dual b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (Dual b ~> Dual a) -> Type) t1) t2) Source # | |
SFunctor Product Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: Product a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (Product a ~> Product b) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: Product b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (Product b ~> Product a) -> Type) t1) t2) Source # | |
SFunctor Sum Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: Sum a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (Sum a ~> Sum b) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: Sum b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (Sum b ~> Sum a) -> Type) t1) t2) Source # | |
SFunctor NonEmpty Source # | |
Defined in Control.Monad.Singletons.Internal Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (NonEmpty a ~> NonEmpty b) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: NonEmpty b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (NonEmpty b ~> NonEmpty a) -> Type) t1) t2) Source # | |
SFunctor Maybe Source # | |
Defined in Control.Monad.Singletons.Internal Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: Maybe a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (Maybe a ~> Maybe b) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: Maybe b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (Maybe b ~> Maybe a) -> Type) t1) t2) Source # | |
SFunctor [] Source # | |
Defined in Control.Monad.Singletons.Internal Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: [a]). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) ([a] ~> [b]) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: [b]). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a ([b] ~> [a]) -> Type) t1) t2) Source # | |
SFunctor (Either a) Source # | |
Defined in Control.Monad.Singletons.Internal Methods sFmap :: forall a0 b (t1 :: a0 ~> b) (t2 :: Either a a0). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (Either a a ~> Either a b) -> Type) t1) t2) Source # (%<$) :: forall a0 b (t1 :: a0) (t2 :: Either a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (Either a b ~> Either a a) -> Type) t1) t2) Source # | |
SFunctor (Proxy :: Type -> Type) Source # | |
Defined in Data.Proxy.Singletons Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: Proxy a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (Proxy a ~> Proxy b) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: Proxy b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (Proxy b ~> Proxy a) -> Type) t1) t2) Source # | |
SFunctor (Arg a) Source # | |
Defined in Data.Semigroup.Singletons Methods sFmap :: forall a0 b (t1 :: a0 ~> b) (t2 :: Arg a a0). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (Arg a a ~> Arg a b) -> Type) t1) t2) Source # (%<$) :: forall a0 b (t1 :: a0) (t2 :: Arg a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (Arg a b ~> Arg a a) -> Type) t1) t2) Source # | |
SFunctor ((,) a) Source # | |
Defined in Data.Functor.Singletons Methods sFmap :: forall a0 b (t1 :: a0 ~> b) (t2 :: (a, a0)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) ((a, a) ~> (a, b)) -> Type) t1) t2) Source # (%<$) :: forall a0 b (t1 :: a0) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a ((a, b) ~> (a, a)) -> Type) t1) t2) Source # | |
SFunctor (Const m :: Type -> Type) Source # | |
Defined in Data.Functor.Const.Singletons Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: Const m a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (Const m a ~> Const m b) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: Const m b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (Const m b ~> Const m a) -> Type) t1) t2) Source # | |
(SFunctor f, SFunctor g) => SFunctor (Product f g) Source # | |
Defined in Data.Functor.Product.Singletons Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: Product f g a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (Product f g a ~> Product f g b) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: Product f g b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (Product f g b ~> Product f g a) -> Type) t1) t2) Source # | |
(SFunctor f, SFunctor g) => SFunctor (Sum f g) Source # | |
Defined in Data.Functor.Sum.Singletons Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: Sum f g a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (Sum f g a ~> Sum f g b) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: Sum f g b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (Sum f g b ~> Sum f g a) -> Type) t1) t2) Source # | |
(SFunctor f, SFunctor g) => SFunctor (Compose f g) Source # | |
Defined in Data.Functor.Compose.Singletons Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: Compose f g a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (Compose f g a ~> Compose f g b) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: Compose f g b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (Compose f g b ~> Compose f g a) -> Type) t1) t2) Source # |
(%$>) :: forall (f :: Type -> Type) a b (t1 :: f a) (t2 :: b). SFunctor f => Sing t1 -> Sing t2 -> Sing (Apply (Apply (($>@#@$) :: TyFun (f a) (b ~> f b) -> Type) t1) t2) infixl 4 Source #
(%<$>) :: forall a b (f :: Type -> Type) (t1 :: a ~> b) (t2 :: f a). SFunctor f => Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$>@#@$) :: TyFun (a ~> b) (f a ~> f b) -> Type) t1) t2) infixl 4 Source #
(%<&>) :: forall (f :: Type -> Type) a b (t1 :: f a) (t2 :: a ~> b). SFunctor f => Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<&>@#@$) :: TyFun (f a) ((a ~> b) ~> f b) -> Type) t1) t2) infixl 1 Source #
sVoid :: forall (f :: Type -> Type) a (t :: f a). SFunctor f => Sing t -> Sing (Apply (VoidSym0 :: TyFun (f a) (f ()) -> Type) t) Source #
Defunctionalization symbols
data FmapSym0 (a1 :: TyFun (a ~> b) (f a ~> f b)) Source #
Instances
SFunctor f => SingI (FmapSym0 :: TyFun (a ~> b) (f a ~> f b) -> Type) Source # | |
SuppressUnusedWarnings (FmapSym0 :: TyFun (a ~> b) (f a ~> f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal Methods suppressUnusedWarnings :: () # | |
type Apply (FmapSym0 :: TyFun (a ~> b) (f a ~> f b) -> Type) (a6989586621679348484 :: a ~> b) Source # | |
data FmapSym1 (a6989586621679348484 :: a ~> b) (b1 :: TyFun (f a) (f b)) Source #
Instances
SFunctor f => SingI1 (FmapSym1 :: (a ~> b) -> TyFun (f a) (f b) -> Type) Source # | |
(SFunctor f, SingI d) => SingI (FmapSym1 d :: TyFun (f a) (f b) -> Type) Source # | |
SuppressUnusedWarnings (FmapSym1 a6989586621679348484 :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal Methods suppressUnusedWarnings :: () # | |
type Apply (FmapSym1 a6989586621679348484 :: TyFun (f a) (f b) -> Type) (a6989586621679348485 :: f a) Source # | |
type family FmapSym2 (a6989586621679348484 :: a ~> b) (a6989586621679348485 :: f a) :: f b where ... Source #
data (<$@#@$) (a1 :: TyFun a (f b ~> f a)) infixl 4 Source #
Instances
SFunctor f => SingI ((<$@#@$) :: TyFun a (f b ~> f a) -> Type) Source # | |
SuppressUnusedWarnings ((<$@#@$) :: TyFun a (f b ~> f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal Methods suppressUnusedWarnings :: () # | |
type Apply ((<$@#@$) :: TyFun a (f b ~> f a) -> Type) (a6989586621679348489 :: a) Source # | |
data (a6989586621679348489 :: a) <$@#@$$ (b1 :: TyFun (f b) (f a)) infixl 4 Source #
Instances
SFunctor f => SingI1 ((<$@#@$$) :: a -> TyFun (f b) (f a) -> Type) Source # | |
(SFunctor f, SingI d) => SingI ((<$@#@$$) d :: TyFun (f b) (f a) -> Type) Source # | |
SuppressUnusedWarnings ((<$@#@$$) a6989586621679348489 :: TyFun (f b) (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal Methods suppressUnusedWarnings :: () # | |
type Apply ((<$@#@$$) a6989586621679348489 :: TyFun (f b) (f a) -> Type) (a6989586621679348490 :: f b) Source # | |
type family (a6989586621679348489 :: a) <$@#@$$$ (a6989586621679348490 :: f b) :: f a where ... infixl 4 Source #
data ($>@#@$) (a1 :: TyFun (f a) (b ~> f b)) infixl 4 Source #
Instances
SFunctor f => SingI (($>@#@$) :: TyFun (f a) (b ~> f b) -> Type) Source # | |
SuppressUnusedWarnings (($>@#@$) :: TyFun (f a) (b ~> f b) -> Type) Source # | |
Defined in Data.Functor.Singletons Methods suppressUnusedWarnings :: () # | |
type Apply (($>@#@$) :: TyFun (f a) (b ~> f b) -> Type) (a6989586621679532901 :: f a) Source # | |
data (a6989586621679532901 :: f a) $>@#@$$ (b1 :: TyFun b (f b)) infixl 4 Source #
Instances
SFunctor f => SingI1 (($>@#@$$) :: f a -> TyFun b (f b) -> Type) Source # | |
(SFunctor f, SingI d) => SingI (($>@#@$$) d :: TyFun b (f b) -> Type) Source # | |
SuppressUnusedWarnings (($>@#@$$) a6989586621679532901 :: TyFun b (f b) -> Type) Source # | |
Defined in Data.Functor.Singletons Methods suppressUnusedWarnings :: () # | |
type Apply (($>@#@$$) a6989586621679532901 :: TyFun b (f b) -> Type) (a6989586621679532902 :: b) Source # | |
type family (a6989586621679532901 :: f a) $>@#@$$$ (a6989586621679532902 :: b) :: f b where ... infixl 4 Source #
data (<$>@#@$) (a1 :: TyFun (a ~> b) (f a ~> f b)) infixl 4 Source #
Instances
SFunctor f => SingI ((<$>@#@$) :: TyFun (a ~> b) (f a ~> f b) -> Type) Source # | |
SuppressUnusedWarnings ((<$>@#@$) :: TyFun (a ~> b) (f a ~> f b) -> Type) Source # | |
Defined in Data.Functor.Singletons Methods suppressUnusedWarnings :: () # | |
type Apply ((<$>@#@$) :: TyFun (a ~> b) (f a ~> f b) -> Type) (a6989586621679532919 :: a ~> b) Source # | |
data (a6989586621679532919 :: a ~> b) <$>@#@$$ (b1 :: TyFun (f a) (f b)) infixl 4 Source #
Instances
SFunctor f => SingI1 ((<$>@#@$$) :: (a ~> b) -> TyFun (f a) (f b) -> Type) Source # | |
Defined in Data.Functor.Singletons | |
(SFunctor f, SingI d) => SingI ((<$>@#@$$) d :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Data.Functor.Singletons | |
SuppressUnusedWarnings ((<$>@#@$$) a6989586621679532919 :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Data.Functor.Singletons Methods suppressUnusedWarnings :: () # | |
type Apply ((<$>@#@$$) a6989586621679532919 :: TyFun (f a) (f b) -> Type) (a6989586621679532920 :: f a) Source # | |
Defined in Data.Functor.Singletons type Apply ((<$>@#@$$) a6989586621679532919 :: TyFun (f a) (f b) -> Type) (a6989586621679532920 :: f a) = a6989586621679532919 <$> a6989586621679532920 |
type family (a6989586621679532919 :: a ~> b) <$>@#@$$$ (a6989586621679532920 :: f a) :: f b where ... infixl 4 Source #
data (<&>@#@$) (a1 :: TyFun (f a) ((a ~> b) ~> f b)) infixl 1 Source #
Instances
SFunctor f => SingI ((<&>@#@$) :: TyFun (f a) ((a ~> b) ~> f b) -> Type) Source # | |
SuppressUnusedWarnings ((<&>@#@$) :: TyFun (f a) ((a ~> b) ~> f b) -> Type) Source # | |
Defined in Data.Functor.Singletons Methods suppressUnusedWarnings :: () # | |
type Apply ((<&>@#@$) :: TyFun (f a) ((a ~> b) ~> f b) -> Type) (a6989586621679532908 :: f a) Source # | |
data (a6989586621679532908 :: f a) <&>@#@$$ (b1 :: TyFun (a ~> b) (f b)) infixl 1 Source #
Instances
SFunctor f => SingI1 ((<&>@#@$$) :: f a -> TyFun (a ~> b) (f b) -> Type) Source # | |
Defined in Data.Functor.Singletons | |
(SFunctor f, SingI d) => SingI ((<&>@#@$$) d :: TyFun (a ~> b) (f b) -> Type) Source # | |
Defined in Data.Functor.Singletons | |
SuppressUnusedWarnings ((<&>@#@$$) a6989586621679532908 :: TyFun (a ~> b) (f b) -> Type) Source # | |
Defined in Data.Functor.Singletons Methods suppressUnusedWarnings :: () # | |
type Apply ((<&>@#@$$) a6989586621679532908 :: TyFun (a ~> b) (f b) -> Type) (a6989586621679532909 :: a ~> b) Source # | |
Defined in Data.Functor.Singletons |
type family (a6989586621679532908 :: f a) <&>@#@$$$ (a6989586621679532909 :: a ~> b) :: f b where ... infixl 1 Source #
data VoidSym0 (a1 :: TyFun (f a) (f ())) Source #
Instances
SFunctor f => SingI (VoidSym0 :: TyFun (f a) (f ()) -> Type) Source # | |
SuppressUnusedWarnings (VoidSym0 :: TyFun (f a) (f ()) -> Type) Source # | |
Defined in Data.Functor.Singletons Methods suppressUnusedWarnings :: () # | |
type Apply (VoidSym0 :: TyFun (f a) (f ()) -> Type) (a6989586621679532892 :: f a) Source # | |
Orphan instances
PFunctor Down Source # | |
SFunctor Down Source # | |
Methods sFmap :: forall a b (t1 :: a ~> b) (t2 :: Down a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) (Down a ~> Down b) -> Type) t1) t2) Source # (%<$) :: forall a b (t1 :: a) (t2 :: Down b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a (Down b ~> Down a) -> Type) t1) t2) Source # | |
PFunctor ((,) a) Source # | |
SFunctor ((,) a) Source # | |
Methods sFmap :: forall a0 b (t1 :: a0 ~> b) (t2 :: (a, a0)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (FmapSym0 :: TyFun (a ~> b) ((a, a) ~> (a, b)) -> Type) t1) t2) Source # (%<$) :: forall a0 b (t1 :: a0) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((<$@#@$) :: TyFun a ((a, b) ~> (a, a)) -> Type) t1) t2) Source # |