Copyright | (C) 2018 Ryan Scott |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Ryan Scott |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Defines the promoted and singled versions of the Applicative
type class.
Synopsis
- class PApplicative f where
- class SFunctor f => SApplicative f where
- sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t :: f a)
- (%<*>) :: forall a b (t :: f ((~>) a b)) (t :: f a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t :: f b)
- sLiftA2 :: forall a b c (t :: (~>) a ((~>) b c)) (t :: f a) (t :: f b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t :: f c)
- (%*>) :: forall a b (t :: f a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t :: f b)
- (%<*) :: forall a b (t :: f a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t :: f a)
- class PAlternative f where
- class SApplicative f => SAlternative f where
- type family Sing :: k -> Type
- data SConst :: Const a b -> Type where
- data Const a (b :: k)
- type family GetConst (a :: Const a b) :: a where ...
- sGetConst :: forall a b (t :: Const a b). Sing t -> Sing (Apply GetConstSym0 t :: a)
- type family (a :: (~>) a b) <$> (a :: f a) :: f b where ...
- (%<$>) :: forall a b f (t :: (~>) a b) (t :: f a). SFunctor f => Sing t -> Sing t -> Sing (Apply (Apply (<$>@#@$) t) t :: f b)
- type family (arg :: a) <$ (arg :: f b) :: f a
- (%<$) :: forall a b (t :: a) (t :: f b). SFunctor f => Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t :: f a)
- type family (a :: f a) <**> (a :: f ((~>) a b)) :: f b where ...
- (%<**>) :: forall f a b (t :: f a) (t :: f ((~>) a b)). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply (<**>@#@$) t) t :: f b)
- type family LiftA (a :: (~>) a b) (a :: f a) :: f b where ...
- sLiftA :: forall a b f (t :: (~>) a b) (t :: f a). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply LiftASym0 t) t :: f b)
- type family LiftA3 (a :: (~>) a ((~>) b ((~>) c d))) (a :: f a) (a :: f b) (a :: f c) :: f d where ...
- sLiftA3 :: forall a b c d f (t :: (~>) a ((~>) b ((~>) c d))) (t :: f a) (t :: f b) (t :: f c). SApplicative f => Sing t -> Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (Apply LiftA3Sym0 t) t) t) t :: f d)
- type family Optional (a :: f a) :: f (Maybe a) where ...
- sOptional :: forall f a (t :: f a). SAlternative f => Sing t -> Sing (Apply OptionalSym0 t :: f (Maybe a))
- data PureSym0 :: (~>) a (f a)
- type family PureSym1 (a6989586621679319179 :: a) :: f a where ...
- data (<*>@#@$) :: (~>) (f ((~>) a b)) ((~>) (f a) (f b))
- data (<*>@#@$$) (a6989586621679319183 :: f ((~>) a b)) :: (~>) (f a) (f b)
- type family (a6989586621679319183 :: f ((~>) a b)) <*>@#@$$$ (a6989586621679319184 :: f a) :: f b where ...
- data (*>@#@$) :: (~>) (f a) ((~>) (f b) (f b))
- data (*>@#@$$) (a6989586621679319195 :: f a) :: (~>) (f b) (f b)
- type family (a6989586621679319195 :: f a) *>@#@$$$ (a6989586621679319196 :: f b) :: f b where ...
- data (<*@#@$) :: (~>) (f a) ((~>) (f b) (f a))
- data (<*@#@$$) (a6989586621679319200 :: f a) :: (~>) (f b) (f a)
- type family (a6989586621679319200 :: f a) <*@#@$$$ (a6989586621679319201 :: f b) :: f a where ...
- type family EmptySym0 :: f a where ...
- data (<|>@#@$) :: (~>) (f a) ((~>) (f a) (f a))
- data (<|>@#@$$) (a6989586621679319304 :: f a) :: (~>) (f a) (f a)
- type family (a6989586621679319304 :: f a) <|>@#@$$$ (a6989586621679319305 :: f a) :: f a where ...
- data ConstSym0 :: (~>) a (Const (a :: Type) (b :: k))
- type family ConstSym1 (a6989586621680667394 :: a) :: Const (a :: Type) (b :: k) where ...
- data GetConstSym0 :: (~>) (Const a b) a
- type family GetConstSym1 (a6989586621680669221 :: Const a b) :: a where ...
- data (<$>@#@$) :: (~>) ((~>) a b) ((~>) (f a) (f b))
- data (<$>@#@$$) (a6989586621679497631 :: (~>) a b) :: (~>) (f a) (f b)
- type family (a6989586621679497631 :: (~>) a b) <$>@#@$$$ (a6989586621679497632 :: f a) :: f b where ...
- data (<$@#@$) :: (~>) a ((~>) (f b) (f a))
- data (<$@#@$$) (a6989586621679319160 :: a) :: (~>) (f b) (f a)
- type family (a6989586621679319160 :: a) <$@#@$$$ (a6989586621679319161 :: f b) :: f a where ...
- data (<**>@#@$) :: (~>) (f a) ((~>) (f ((~>) a b)) (f b))
- data (<**>@#@$$) (a6989586621679319143 :: f a) :: (~>) (f ((~>) a b)) (f b)
- type family (a6989586621679319143 :: f a) <**>@#@$$$ (a6989586621679319144 :: f ((~>) a b)) :: f b where ...
- data LiftASym0 :: (~>) ((~>) a b) ((~>) (f a) (f b))
- data LiftASym1 (a6989586621679319132 :: (~>) a b) :: (~>) (f a) (f b)
- type family LiftASym2 (a6989586621679319132 :: (~>) a b) (a6989586621679319133 :: f a) :: f b where ...
- data LiftA2Sym0 :: (~>) ((~>) a ((~>) b c)) ((~>) (f a) ((~>) (f b) (f c)))
- data LiftA2Sym1 (a6989586621679319189 :: (~>) a ((~>) b c)) :: (~>) (f a) ((~>) (f b) (f c))
- data LiftA2Sym2 (a6989586621679319189 :: (~>) a ((~>) b c)) (a6989586621679319190 :: f a) :: (~>) (f b) (f c)
- type family LiftA2Sym3 (a6989586621679319189 :: (~>) a ((~>) b c)) (a6989586621679319190 :: f a) (a6989586621679319191 :: f b) :: f c where ...
- data LiftA3Sym0 :: (~>) ((~>) a ((~>) b ((~>) c d))) ((~>) (f a) ((~>) (f b) ((~>) (f c) (f d))))
- data LiftA3Sym1 (a6989586621679319121 :: (~>) a ((~>) b ((~>) c d))) :: (~>) (f a) ((~>) (f b) ((~>) (f c) (f d)))
- data LiftA3Sym2 (a6989586621679319121 :: (~>) a ((~>) b ((~>) c d))) (a6989586621679319122 :: f a) :: (~>) (f b) ((~>) (f c) (f d))
- data LiftA3Sym3 (a6989586621679319121 :: (~>) a ((~>) b ((~>) c d))) (a6989586621679319122 :: f a) (a6989586621679319123 :: f b) :: (~>) (f c) (f d)
- data OptionalSym0 :: (~>) (f a) (f (Maybe a))
- type family OptionalSym1 (a6989586621681223692 :: f a) :: f (Maybe a) where ...
Documentation
class PApplicative f Source #
type Pure (arg :: a) :: f a Source #
type (arg :: f ((~>) a b)) <*> (arg :: f a) :: f b infixl 4 Source #
type LiftA2 (arg :: (~>) a ((~>) b c)) (arg :: f a) (arg :: f b) :: f c Source #
Instances
class SFunctor f => SApplicative f where Source #
sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t :: f a) Source #
(%<*>) :: forall a b (t :: f ((~>) a b)) (t :: f a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t :: f b) infixl 4 Source #
default (%<*>) :: forall a b (t :: f ((~>) a b)) (t :: f a). (Apply (Apply (<*>@#@$) t) t :: f b) ~ Apply (Apply TFHelper_6989586621679319204Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t :: f b) Source #
sLiftA2 :: forall a b c (t :: (~>) a ((~>) b c)) (t :: f a) (t :: f b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t :: f c) Source #
default sLiftA2 :: forall a b c (t :: (~>) a ((~>) b c)) (t :: f a) (t :: f b). (Apply (Apply (Apply LiftA2Sym0 t) t) t :: f c) ~ Apply (Apply (Apply LiftA2_6989586621679319220Sym0 t) t) t => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t :: f c) Source #
(%*>) :: forall a b (t :: f a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t :: f b) infixl 4 Source #
default (%*>) :: forall a b (t :: f a) (t :: f b). (Apply (Apply (*>@#@$) t) t :: f b) ~ Apply (Apply TFHelper_6989586621679319236Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t :: f b) Source #
(%<*) :: forall a b (t :: f a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t :: f a) infixl 4 Source #
Instances
SApplicative [] Source # | |
Defined in Control.Monad.Singletons.Internal sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: [a ~> b]) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: [a]) (t :: [b]). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: [a]) (t :: [b]). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: [a]) (t :: [b]). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SApplicative Maybe Source # | |
Defined in Control.Monad.Singletons.Internal sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: Maybe (a ~> b)) (t :: Maybe a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Maybe a) (t :: Maybe b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: Maybe a) (t :: Maybe b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: Maybe a) (t :: Maybe b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SApplicative Min Source # | |
Defined in Data.Semigroup.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: Min (a ~> b)) (t :: Min a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Min a) (t :: Min b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: Min a) (t :: Min b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: Min a) (t :: Min b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SApplicative Max Source # | |
Defined in Data.Semigroup.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: Max (a ~> b)) (t :: Max a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Max a) (t :: Max b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: Max a) (t :: Max b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: Max a) (t :: Max b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SApplicative First Source # | |
Defined in Data.Semigroup.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: First (a ~> b)) (t :: First a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: First a) (t :: First b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: First a) (t :: First b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: First a) (t :: First b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SApplicative Last Source # | |
Defined in Data.Semigroup.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: Last (a ~> b)) (t :: Last a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Last a) (t :: Last b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: Last a) (t :: Last b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: Last a) (t :: Last b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SApplicative Identity Source # | |
Defined in Data.Functor.Identity.Singletons 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 # | |
SApplicative First Source # | |
Defined in Data.Monoid.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: First (a ~> b)) (t :: First a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: First a) (t :: First b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: First a) (t :: First b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: First a) (t :: First b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SApplicative Last Source # | |
Defined in Data.Monoid.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: Last (a ~> b)) (t :: Last a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Last a) (t :: Last b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: Last a) (t :: Last b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: Last a) (t :: Last b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SApplicative Dual Source # | |
Defined in Data.Semigroup.Singletons.Internal sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: Dual (a ~> b)) (t :: Dual a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Dual a) (t :: Dual b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: Dual a) (t :: Dual b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: Dual a) (t :: Dual b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SApplicative Sum Source # | |
Defined in Data.Semigroup.Singletons.Internal sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: Sum (a ~> b)) (t :: Sum a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Sum a) (t :: Sum b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: Sum a) (t :: Sum b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: Sum a) (t :: Sum b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SApplicative Product Source # | |
Defined in Data.Semigroup.Singletons.Internal sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: Product (a ~> b)) (t :: Product a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Product a) (t :: Product b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: Product a) (t :: Product b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: Product a) (t :: Product b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SApplicative Down Source # | |
Defined in Control.Applicative.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: Down (a ~> b)) (t :: Down a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Down a) (t :: Down b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: Down a) (t :: Down b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: Down a) (t :: Down b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SApplicative NonEmpty Source # | |
Defined in Control.Monad.Singletons.Internal sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: NonEmpty (a ~> b)) (t :: NonEmpty a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: NonEmpty a) (t :: NonEmpty b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: NonEmpty a) (t :: NonEmpty b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: NonEmpty a) (t :: NonEmpty b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SApplicative (Either e) Source # | |
Defined in Control.Monad.Singletons.Internal sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: Either e (a ~> b)) (t :: Either e a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Either e a) (t :: Either e b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: Either e a) (t :: Either e b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: Either e a) (t :: Either e b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SMonoid a => SApplicative ((,) a) Source # | |
Defined in Control.Applicative.Singletons sPure :: forall a0 (t :: a0). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a0 b (t :: (a, a0 ~> b)) (t :: (a, a0)). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a0 b c (t :: a0 ~> (b ~> c)) (t :: (a, a0)) (t :: (a, b)). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a0 b (t :: (a, a0)) (t :: (a, b)). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a0 b (t :: (a, a0)) (t :: (a, b)). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
SApplicative (Proxy :: Type -> Type) Source # | |
Defined in Data.Proxy.Singletons 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 # | |
SMonoid m => SApplicative (Const m :: Type -> Type) Source # | |
Defined in Data.Functor.Const.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: Const m (a ~> b)) (t :: Const m a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Const m a) (t :: Const m b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: Const m a) (t :: Const m b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: Const m a) (t :: Const m b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # |
class PAlternative f Source #
Instances
PAlternative (Proxy :: k -> Type) Source # | |
PAlternative [] Source # | |
PAlternative Maybe Source # | |
class SApplicative f => SAlternative f where Source #
sEmpty :: forall a. Sing (EmptySym0 :: f a) Source #
(%<|>) :: forall a (t :: f a) (t :: f a). Sing t -> Sing t -> Sing (Apply (Apply (<|>@#@$) t) t :: f a) infixl 3 Source #
Instances
SAlternative [] Source # | |
SAlternative Maybe Source # | |
SAlternative (Proxy :: Type -> Type) Source # | |
type family Sing :: k -> Type #
The singleton kind-indexed type family.
Instances
data SConst :: Const a b -> Type where Source #
Instances
SDecide a => TestCoercion (SConst :: Const a b -> Type) Source # | |
Defined in Data.Functor.Const.Singletons | |
SDecide a => TestEquality (SConst :: Const a b -> Type) Source # | |
Defined in Data.Functor.Const.Singletons |
The Const
functor.
Instances
(%<$>) :: forall a b f (t :: (~>) a b) (t :: f a). SFunctor f => Sing t -> Sing t -> Sing (Apply (Apply (<$>@#@$) t) t :: f b) infixl 4 Source #
type family (arg :: a) <$ (arg :: f b) :: f a infixl 4 Source #
Instances
type (a1 :: k1) <$ (a2 :: Maybe b) Source # | |
Defined in Control.Monad.Singletons.Internal | |
type (a1 :: k1) <$ (a2 :: NonEmpty b) Source # | |
Defined in Control.Monad.Singletons.Internal | |
type (a1 :: k1) <$ (a2 :: [b]) Source # | |
Defined in Control.Monad.Singletons.Internal type (a1 :: k1) <$ (a2 :: [b]) | |
type (a1 :: k1) <$ (a2 :: Down b) Source # | |
Defined in Data.Functor.Singletons | |
type (a1 :: k1) <$ (a2 :: Dual b) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
type (a1 :: k1) <$ (a2 :: Sum b) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
type (a1 :: k1) <$ (a2 :: Product b) Source # | |
Defined in Data.Semigroup.Singletons.Internal | |
type (a1 :: k1) <$ (a2 :: First b) Source # | |
Defined in Data.Monoid.Singletons | |
type (a1 :: k1) <$ (a2 :: Last b) Source # | |
Defined in Data.Monoid.Singletons | |
type (a1 :: k1) <$ (a2 :: Identity b) Source # | |
Defined in Data.Functor.Identity.Singletons | |
type (a1 :: k1) <$ (a2 :: Min b) Source # | |
Defined in Data.Semigroup.Singletons | |
type (a1 :: k1) <$ (a2 :: Max b) Source # | |
Defined in Data.Semigroup.Singletons | |
type (a1 :: k1) <$ (a2 :: First b) Source # | |
Defined in Data.Semigroup.Singletons | |
type (a1 :: k1) <$ (a2 :: Last b) Source # | |
Defined in Data.Semigroup.Singletons | |
type (a2 :: k1) <$ (a3 :: Either a1 b) Source # | |
Defined in Control.Monad.Singletons.Internal | |
type (a2 :: k1) <$ (a3 :: (a1, b)) Source # | |
Defined in Data.Functor.Singletons type (a2 :: k1) <$ (a3 :: (a1, b)) | |
type (arg1 :: a) <$ (arg2 :: Proxy b) Source # | |
Defined in Data.Proxy.Singletons | |
type (a2 :: k1) <$ (a3 :: Arg a1 b) Source # | |
Defined in Data.Semigroup.Singletons | |
type (a1 :: k1) <$ (a2 :: Const m b) Source # | |
Defined in Data.Functor.Const.Singletons |
(%<$) :: forall a b (t :: a) (t :: f b). SFunctor f => Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t :: f a) infixl 4 Source #
(%<**>) :: forall f a b (t :: f a) (t :: f ((~>) a b)). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply (<**>@#@$) t) t :: f b) infixl 4 Source #
sLiftA :: forall a b f (t :: (~>) a b) (t :: f a). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply LiftASym0 t) t :: f b) Source #
type family LiftA3 (a :: (~>) a ((~>) b ((~>) c d))) (a :: f a) (a :: f b) (a :: f c) :: f d where ... Source #
sLiftA3 :: forall a b c d f (t :: (~>) a ((~>) b ((~>) c d))) (t :: f a) (t :: f b) (t :: f c). SApplicative f => Sing t -> Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (Apply LiftA3Sym0 t) t) t) t :: f d) Source #
sOptional :: forall f a (t :: f a). SAlternative f => Sing t -> Sing (Apply OptionalSym0 t :: f (Maybe a)) Source #
Defunctionalization symbols
data PureSym0 :: (~>) a (f a) Source #
Instances
SApplicative f => SingI (PureSym0 :: TyFun a (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings (PureSym0 :: TyFun a (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (PureSym0 :: TyFun a (f a) -> Type) (a6989586621679319179 :: a) Source # | |
data (<*>@#@$) :: (~>) (f ((~>) a b)) ((~>) (f a) (f b)) infixl 4 Source #
Instances
SApplicative f => SingI ((<*>@#@$) :: TyFun (f (a ~> b)) (f a ~> f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings ((<*>@#@$) :: TyFun (f (a ~> b)) (f a ~> f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<*>@#@$) :: TyFun (f (a ~> b)) (f a ~> f b) -> Type) (a6989586621679319183 :: f (a ~> b)) Source # | |
Defined in Control.Monad.Singletons.Internal |
data (<*>@#@$$) (a6989586621679319183 :: f ((~>) a b)) :: (~>) (f a) (f b) infixl 4 Source #
Instances
(SApplicative f, SingI d) => SingI ((<*>@#@$$) d :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing ((<*>@#@$$) d) # | |
SuppressUnusedWarnings ((<*>@#@$$) a6989586621679319183 :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<*>@#@$$) a6989586621679319183 :: TyFun (f a) (f b) -> Type) (a6989586621679319184 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply ((<*>@#@$$) a6989586621679319183 :: TyFun (f a) (f b) -> Type) (a6989586621679319184 :: f a) = a6989586621679319183 <*> a6989586621679319184 |
type family (a6989586621679319183 :: f ((~>) a b)) <*>@#@$$$ (a6989586621679319184 :: f a) :: f b where ... infixl 4 Source #
data (*>@#@$) :: (~>) (f a) ((~>) (f b) (f b)) infixl 4 Source #
Instances
SApplicative f => SingI ((*>@#@$) :: TyFun (f a) (f b ~> f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings ((*>@#@$) :: TyFun (f a) (f b ~> f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((*>@#@$) :: TyFun (f a) (f b ~> f b) -> Type) (a6989586621679319195 :: f a) Source # | |
data (*>@#@$$) (a6989586621679319195 :: f a) :: (~>) (f b) (f b) infixl 4 Source #
Instances
(SApplicative f, SingI d) => SingI ((*>@#@$$) d :: TyFun (f b) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings ((*>@#@$$) a6989586621679319195 :: TyFun (f b) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((*>@#@$$) a6989586621679319195 :: TyFun (f b) (f b) -> Type) (a6989586621679319196 :: f b) Source # | |
type family (a6989586621679319195 :: f a) *>@#@$$$ (a6989586621679319196 :: f b) :: f b where ... infixl 4 Source #
data (<*@#@$) :: (~>) (f a) ((~>) (f b) (f a)) infixl 4 Source #
Instances
SApplicative f => SingI ((<*@#@$) :: TyFun (f a) (f b ~> f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings ((<*@#@$) :: TyFun (f a) (f b ~> f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<*@#@$) :: TyFun (f a) (f b ~> f a) -> Type) (a6989586621679319200 :: f a) Source # | |
data (<*@#@$$) (a6989586621679319200 :: f a) :: (~>) (f b) (f a) infixl 4 Source #
Instances
(SApplicative f, SingI d) => SingI ((<*@#@$$) d :: TyFun (f b) (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings ((<*@#@$$) a6989586621679319200 :: TyFun (f b) (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<*@#@$$) a6989586621679319200 :: TyFun (f b) (f a) -> Type) (a6989586621679319201 :: f b) Source # | |
type family (a6989586621679319200 :: f a) <*@#@$$$ (a6989586621679319201 :: f b) :: f a where ... infixl 4 Source #
data (<|>@#@$) :: (~>) (f a) ((~>) (f a) (f a)) infixl 3 Source #
Instances
SAlternative f => SingI ((<|>@#@$) :: TyFun (f a) (f a ~> f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings ((<|>@#@$) :: TyFun (f a) (f a ~> f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<|>@#@$) :: TyFun (f a) (f a ~> f a) -> Type) (a6989586621679319304 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal |
data (<|>@#@$$) (a6989586621679319304 :: f a) :: (~>) (f a) (f a) infixl 3 Source #
Instances
(SAlternative f, SingI d) => SingI ((<|>@#@$$) d :: TyFun (f a) (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing ((<|>@#@$$) d) # | |
SuppressUnusedWarnings ((<|>@#@$$) a6989586621679319304 :: TyFun (f a) (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<|>@#@$$) a6989586621679319304 :: TyFun (f a) (f a) -> Type) (a6989586621679319305 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply ((<|>@#@$$) a6989586621679319304 :: TyFun (f a) (f a) -> Type) (a6989586621679319305 :: f a) = a6989586621679319304 <|> a6989586621679319305 |
type family (a6989586621679319304 :: f a) <|>@#@$$$ (a6989586621679319305 :: f a) :: f a where ... infixl 3 Source #
data ConstSym0 :: (~>) a (Const (a :: Type) (b :: k)) Source #
Instances
SingI (ConstSym0 :: TyFun a (Const a b) -> Type) Source # | |
Defined in Data.Functor.Const.Singletons | |
SuppressUnusedWarnings (ConstSym0 :: TyFun a (Const a b) -> Type) Source # | |
Defined in Data.Functor.Const.Singletons suppressUnusedWarnings :: () # | |
type Apply (ConstSym0 :: TyFun a (Const a b) -> Type) (a6989586621680667394 :: a) Source # | |
data GetConstSym0 :: (~>) (Const a b) a Source #
Instances
SingI (GetConstSym0 :: TyFun (Const a b) a -> Type) Source # | |
Defined in Data.Functor.Const.Singletons sing :: Sing GetConstSym0 # | |
SuppressUnusedWarnings (GetConstSym0 :: TyFun (Const a b) a -> Type) Source # | |
Defined in Data.Functor.Const.Singletons suppressUnusedWarnings :: () # | |
type Apply (GetConstSym0 :: TyFun (Const a b) a -> Type) (a6989586621680669221 :: Const a b) Source # | |
Defined in Data.Functor.Const.Singletons |
type family GetConstSym1 (a6989586621680669221 :: Const a b) :: a where ... Source #
GetConstSym1 a6989586621680669221 = GetConst a6989586621680669221 |
data (<$>@#@$) :: (~>) ((~>) a b) ((~>) (f a) (f b)) infixl 4 Source #
Instances
SFunctor f => SingI ((<$>@#@$) :: TyFun (a ~> b) (f a ~> f b) -> Type) Source # | |
Defined in Data.Functor.Singletons | |
SuppressUnusedWarnings ((<$>@#@$) :: TyFun (a ~> b) (f a ~> f b) -> Type) Source # | |
Defined in Data.Functor.Singletons suppressUnusedWarnings :: () # | |
type Apply ((<$>@#@$) :: TyFun (a ~> b) (f a ~> f b) -> Type) (a6989586621679497631 :: a ~> b) Source # | |
data (<$>@#@$$) (a6989586621679497631 :: (~>) a b) :: (~>) (f a) (f b) infixl 4 Source #
Instances
(SFunctor f, SingI d) => SingI ((<$>@#@$$) d :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Data.Functor.Singletons sing :: Sing ((<$>@#@$$) d) # | |
SuppressUnusedWarnings ((<$>@#@$$) a6989586621679497631 :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Data.Functor.Singletons suppressUnusedWarnings :: () # | |
type Apply ((<$>@#@$$) a6989586621679497631 :: TyFun (f a) (f b) -> Type) (a6989586621679497632 :: f a) Source # | |
Defined in Data.Functor.Singletons type Apply ((<$>@#@$$) a6989586621679497631 :: TyFun (f a) (f b) -> Type) (a6989586621679497632 :: f a) = a6989586621679497631 <$> a6989586621679497632 |
type family (a6989586621679497631 :: (~>) a b) <$>@#@$$$ (a6989586621679497632 :: f a) :: f b where ... infixl 4 Source #
data (<$@#@$) :: (~>) a ((~>) (f b) (f a)) infixl 4 Source #
Instances
SFunctor f => SingI ((<$@#@$) :: TyFun a (f b ~> f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings ((<$@#@$) :: TyFun a (f b ~> f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<$@#@$) :: TyFun a (f b ~> f a) -> Type) (a6989586621679319160 :: a) Source # | |
data (<$@#@$$) (a6989586621679319160 :: a) :: (~>) (f b) (f a) infixl 4 Source #
Instances
(SFunctor f, SingI d) => SingI ((<$@#@$$) d :: TyFun (f b) (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings ((<$@#@$$) a6989586621679319160 :: TyFun (f b) (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<$@#@$$) a6989586621679319160 :: TyFun (f b) (f a) -> Type) (a6989586621679319161 :: f b) Source # | |
type family (a6989586621679319160 :: a) <$@#@$$$ (a6989586621679319161 :: f b) :: f a where ... infixl 4 Source #
data (<**>@#@$) :: (~>) (f a) ((~>) (f ((~>) a b)) (f b)) infixl 4 Source #
Instances
SApplicative f => SingI ((<**>@#@$) :: TyFun (f a) (f (a ~> b) ~> f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing (<**>@#@$) # | |
SuppressUnusedWarnings ((<**>@#@$) :: TyFun (f a) (f (a ~> b) ~> f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<**>@#@$) :: TyFun (f a) (f (a ~> b) ~> f b) -> Type) (a6989586621679319143 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply ((<**>@#@$) :: TyFun (f a) (f (a ~> b) ~> f b) -> Type) (a6989586621679319143 :: f a) = (<**>@#@$$) a6989586621679319143 :: TyFun (f (a ~> b)) (f b) -> Type |
data (<**>@#@$$) (a6989586621679319143 :: f a) :: (~>) (f ((~>) a b)) (f b) infixl 4 Source #
Instances
(SApplicative f, SingI d) => SingI ((<**>@#@$$) d :: TyFun (f (a ~> b)) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing ((<**>@#@$$) d) # | |
SuppressUnusedWarnings ((<**>@#@$$) a6989586621679319143 :: TyFun (f (a ~> b)) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<**>@#@$$) a6989586621679319143 :: TyFun (f (a ~> b)) (f b) -> Type) (a6989586621679319144 :: f (a ~> b)) Source # | |
Defined in Control.Monad.Singletons.Internal |
type family (a6989586621679319143 :: f a) <**>@#@$$$ (a6989586621679319144 :: f ((~>) a b)) :: f b where ... infixl 4 Source #
a6989586621679319143 <**>@#@$$$ a6989586621679319144 = (<**>) a6989586621679319143 a6989586621679319144 |
data LiftASym0 :: (~>) ((~>) a b) ((~>) (f a) (f b)) Source #
Instances
SApplicative f => SingI (LiftASym0 :: TyFun (a ~> b) (f a ~> f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings (LiftASym0 :: TyFun (a ~> b) (f a ~> f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (LiftASym0 :: TyFun (a ~> b) (f a ~> f b) -> Type) (a6989586621679319132 :: a ~> b) Source # | |
data LiftASym1 (a6989586621679319132 :: (~>) a b) :: (~>) (f a) (f b) Source #
Instances
(SApplicative f, SingI d) => SingI (LiftASym1 d :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings (LiftASym1 a6989586621679319132 :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (LiftASym1 a6989586621679319132 :: TyFun (f a) (f b) -> Type) (a6989586621679319133 :: f a) Source # | |
type family LiftASym2 (a6989586621679319132 :: (~>) a b) (a6989586621679319133 :: f a) :: f b where ... Source #
data LiftA2Sym0 :: (~>) ((~>) a ((~>) b c)) ((~>) (f a) ((~>) (f b) (f c))) Source #
Instances
SApplicative f => SingI (LiftA2Sym0 :: TyFun (a ~> (b ~> c)) (f a ~> (f b ~> f c)) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing LiftA2Sym0 # | |
SuppressUnusedWarnings (LiftA2Sym0 :: TyFun (a ~> (b ~> c)) (f a ~> (f b ~> f c)) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (LiftA2Sym0 :: TyFun (a ~> (b ~> c)) (f a ~> (f b ~> f c)) -> Type) (a6989586621679319189 :: a ~> (b ~> c)) Source # | |
Defined in Control.Monad.Singletons.Internal |
data LiftA2Sym1 (a6989586621679319189 :: (~>) a ((~>) b c)) :: (~>) (f a) ((~>) (f b) (f c)) Source #
Instances
(SApplicative f, SingI d) => SingI (LiftA2Sym1 d :: TyFun (f a) (f b ~> f c) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing (LiftA2Sym1 d) # | |
SuppressUnusedWarnings (LiftA2Sym1 a6989586621679319189 :: TyFun (f a) (f b ~> f c) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (LiftA2Sym1 a6989586621679319189 :: TyFun (f a) (f b ~> f c) -> Type) (a6989586621679319190 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply (LiftA2Sym1 a6989586621679319189 :: TyFun (f a) (f b ~> f c) -> Type) (a6989586621679319190 :: f a) = LiftA2Sym2 a6989586621679319189 a6989586621679319190 |
data LiftA2Sym2 (a6989586621679319189 :: (~>) a ((~>) b c)) (a6989586621679319190 :: f a) :: (~>) (f b) (f c) Source #
Instances
(SApplicative f, SingI d1, SingI d2) => SingI (LiftA2Sym2 d1 d2 :: TyFun (f b) (f c) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing (LiftA2Sym2 d1 d2) # | |
SuppressUnusedWarnings (LiftA2Sym2 a6989586621679319189 a6989586621679319190 :: TyFun (f b) (f c) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (LiftA2Sym2 a6989586621679319189 a6989586621679319190 :: TyFun (f b) (f c) -> Type) (a6989586621679319191 :: f b) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply (LiftA2Sym2 a6989586621679319189 a6989586621679319190 :: TyFun (f b) (f c) -> Type) (a6989586621679319191 :: f b) = LiftA2 a6989586621679319189 a6989586621679319190 a6989586621679319191 |
type family LiftA2Sym3 (a6989586621679319189 :: (~>) a ((~>) b c)) (a6989586621679319190 :: f a) (a6989586621679319191 :: f b) :: f c where ... Source #
LiftA2Sym3 a6989586621679319189 a6989586621679319190 a6989586621679319191 = LiftA2 a6989586621679319189 a6989586621679319190 a6989586621679319191 |
data LiftA3Sym0 :: (~>) ((~>) a ((~>) b ((~>) c d))) ((~>) (f a) ((~>) (f b) ((~>) (f c) (f d)))) Source #
Instances
SApplicative f => SingI (LiftA3Sym0 :: TyFun (a ~> (b ~> (c ~> d))) (f a ~> (f b ~> (f c ~> f d))) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing LiftA3Sym0 # | |
SuppressUnusedWarnings (LiftA3Sym0 :: TyFun (a ~> (b ~> (c ~> d))) (f a ~> (f b ~> (f c ~> f d))) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (LiftA3Sym0 :: TyFun (a ~> (b ~> (c ~> d))) (f a ~> (f b ~> (f c ~> f d))) -> Type) (a6989586621679319121 :: a ~> (b ~> (c ~> d))) Source # | |
data LiftA3Sym1 (a6989586621679319121 :: (~>) a ((~>) b ((~>) c d))) :: (~>) (f a) ((~>) (f b) ((~>) (f c) (f d))) Source #
Instances
(SApplicative f, SingI d2) => SingI (LiftA3Sym1 d2 :: TyFun (f a) (f b ~> (f c ~> f d1)) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing (LiftA3Sym1 d2) # | |
SuppressUnusedWarnings (LiftA3Sym1 a6989586621679319121 :: TyFun (f a) (f b ~> (f c ~> f d)) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (LiftA3Sym1 a6989586621679319121 :: TyFun (f a) (f b ~> (f c ~> f d)) -> Type) (a6989586621679319122 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply (LiftA3Sym1 a6989586621679319121 :: TyFun (f a) (f b ~> (f c ~> f d)) -> Type) (a6989586621679319122 :: f a) = LiftA3Sym2 a6989586621679319121 a6989586621679319122 |
data LiftA3Sym2 (a6989586621679319121 :: (~>) a ((~>) b ((~>) c d))) (a6989586621679319122 :: f a) :: (~>) (f b) ((~>) (f c) (f d)) Source #
Instances
(SApplicative f, SingI d2, SingI d3) => SingI (LiftA3Sym2 d2 d3 :: TyFun (f b) (f c ~> f d1) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing (LiftA3Sym2 d2 d3) # | |
SuppressUnusedWarnings (LiftA3Sym2 a6989586621679319121 a6989586621679319122 :: TyFun (f b) (f c ~> f d) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (LiftA3Sym2 a6989586621679319121 a6989586621679319122 :: TyFun (f b) (f c ~> f d) -> Type) (a6989586621679319123 :: f b) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply (LiftA3Sym2 a6989586621679319121 a6989586621679319122 :: TyFun (f b) (f c ~> f d) -> Type) (a6989586621679319123 :: f b) = LiftA3Sym3 a6989586621679319121 a6989586621679319122 a6989586621679319123 |
data LiftA3Sym3 (a6989586621679319121 :: (~>) a ((~>) b ((~>) c d))) (a6989586621679319122 :: f a) (a6989586621679319123 :: f b) :: (~>) (f c) (f d) Source #
Instances
(SApplicative f, SingI d2, SingI d3, SingI d4) => SingI (LiftA3Sym3 d2 d3 d4 :: TyFun (f c) (f d1) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing (LiftA3Sym3 d2 d3 d4) # | |
SuppressUnusedWarnings (LiftA3Sym3 a6989586621679319121 a6989586621679319122 a6989586621679319123 :: TyFun (f c) (f d) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (LiftA3Sym3 a6989586621679319121 a6989586621679319122 a6989586621679319123 :: TyFun (f c) (f d) -> Type) (a6989586621679319124 :: f c) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply (LiftA3Sym3 a6989586621679319121 a6989586621679319122 a6989586621679319123 :: TyFun (f c) (f d) -> Type) (a6989586621679319124 :: f c) = LiftA3 a6989586621679319121 a6989586621679319122 a6989586621679319123 a6989586621679319124 |
data OptionalSym0 :: (~>) (f a) (f (Maybe a)) Source #
Instances
SAlternative f => SingI (OptionalSym0 :: TyFun (f a) (f (Maybe a)) -> Type) Source # | |
Defined in Control.Applicative.Singletons sing :: Sing OptionalSym0 # | |
SuppressUnusedWarnings (OptionalSym0 :: TyFun (f a) (f (Maybe a)) -> Type) Source # | |
Defined in Control.Applicative.Singletons suppressUnusedWarnings :: () # | |
type Apply (OptionalSym0 :: TyFun (f a) (f (Maybe a)) -> Type) (a6989586621681223692 :: f a) Source # | |
Defined in Control.Applicative.Singletons |
type family OptionalSym1 (a6989586621681223692 :: f a) :: f (Maybe a) where ... Source #
OptionalSym1 a6989586621681223692 = Optional a6989586621681223692 |
Orphan instances
SApplicative Down Source # | |
sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t :: Down (a ~> b)) (t :: Down a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Down a) (t :: Down b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a b (t :: Down a) (t :: Down b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a b (t :: Down a) (t :: Down b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
PApplicative Down Source # | |
SMonoid a => SApplicative ((,) a) Source # | |
sPure :: forall a0 (t :: a0). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a0 b (t :: (a, a0 ~> b)) (t :: (a, a0)). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source # sLiftA2 :: forall a0 b c (t :: a0 ~> (b ~> c)) (t :: (a, a0)) (t :: (a, b)). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source # (%*>) :: forall a0 b (t :: (a, a0)) (t :: (a, b)). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source # (%<*) :: forall a0 b (t :: (a, a0)) (t :: (a, b)). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source # | |
PApplicative ((,) a) Source # | |