Copyright | (C) 2018 Ryan Scott |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Ryan Scott |
Stability | experimental |
Portability | non-portable |
Safe Haskell | Safe-Inferred |
Language | GHC2021 |
Defines the promoted and singled versions of the Applicative
type class.
Synopsis
- class PApplicative f where
- class SFunctor f => SApplicative f where
- sPure :: forall (t :: a). Sing t -> Sing (Apply PureSym0 t :: f a) :: Type
- (%<*>) :: forall (t :: f ((~>) a b)) (t :: f a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t :: f b) :: Type
- sLiftA2 :: forall (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) :: Type
- (%*>) :: forall (t :: f a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t :: f b) :: Type
- (%<*) :: forall (t :: f a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t :: f a) :: Type
- 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 (t :: Const a b). Sing t -> Sing (Apply GetConstSym0 t :: a) :: Type
- type family (a :: (~>) a b) <$> (a :: f a) :: f b where ...
- (%<$>) :: forall (t :: (~>) a b) (t :: f a). SFunctor f => Sing t -> Sing t -> Sing (Apply (Apply (<$>@#@$) t) t :: f b) :: Type
- type family (arg :: a) <$ (arg :: f b) :: f a
- (%<$) :: SFunctor f => forall (t :: a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t :: f a) :: Type
- type family (a :: f a) <**> (a :: f ((~>) a b)) :: f b where ...
- (%<**>) :: forall (t :: f a) (t :: f ((~>) a b)). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply (<**>@#@$) t) t :: f b) :: Type
- type family LiftA (a :: (~>) a b) (a :: f a) :: f b where ...
- sLiftA :: forall (t :: (~>) a b) (t :: f a). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply LiftASym0 t) t :: f b) :: Type
- type family LiftA3 (a :: (~>) a ((~>) b ((~>) c d))) (a :: f a) (a :: f b) (a :: f c) :: f d where ...
- sLiftA3 :: forall (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
- type family Optional (a :: f a) :: f (Maybe a) where ...
- sOptional :: forall (t :: f a). SAlternative f => Sing t -> Sing (Apply OptionalSym0 t :: f (Maybe a)) :: Type
- data PureSym0 :: (~>) a (f a)
- type family PureSym1 (a6989586621679276565 :: a) :: f a where ...
- data (<*>@#@$) :: (~>) (f ((~>) a b)) ((~>) (f a) (f b))
- data (<*>@#@$$) (a6989586621679276569 :: f ((~>) a b)) :: (~>) (f a) (f b)
- type family (a6989586621679276569 :: f ((~>) a b)) <*>@#@$$$ (a6989586621679276570 :: f a) :: f b where ...
- data (*>@#@$) :: (~>) (f a) ((~>) (f b) (f b))
- data (*>@#@$$) (a6989586621679276581 :: f a) :: (~>) (f b) (f b)
- type family (a6989586621679276581 :: f a) *>@#@$$$ (a6989586621679276582 :: f b) :: f b where ...
- data (<*@#@$) :: (~>) (f a) ((~>) (f b) (f a))
- data (<*@#@$$) (a6989586621679276586 :: f a) :: (~>) (f b) (f a)
- type family (a6989586621679276586 :: f a) <*@#@$$$ (a6989586621679276587 :: f b) :: f a where ...
- type family EmptySym0 :: f a where ...
- data (<|>@#@$) :: (~>) (f a) ((~>) (f a) (f a))
- data (<|>@#@$$) (a6989586621679276690 :: f a) :: (~>) (f a) (f a)
- type family (a6989586621679276690 :: f a) <|>@#@$$$ (a6989586621679276691 :: f a) :: f a where ...
- data ConstSym0 z
- type family ConstSym1 x where ...
- data GetConstSym0 :: (~>) (Const a b) a
- type family GetConstSym1 (a6989586621680339158 :: Const a b) :: a where ...
- data (<$>@#@$) :: (~>) ((~>) a b) ((~>) (f a) (f b))
- data (<$>@#@$$) (a6989586621679430465 :: (~>) a b) :: (~>) (f a) (f b)
- type family (a6989586621679430465 :: (~>) a b) <$>@#@$$$ (a6989586621679430466 :: f a) :: f b where ...
- data (<$@#@$) :: (~>) a ((~>) (f b) (f a))
- data (<$@#@$$) (a6989586621679276546 :: a) :: (~>) (f b) (f a)
- type family (a6989586621679276546 :: a) <$@#@$$$ (a6989586621679276547 :: f b) :: f a where ...
- data (<**>@#@$) :: (~>) (f a) ((~>) (f ((~>) a b)) (f b))
- data (<**>@#@$$) (a6989586621679276529 :: f a) :: (~>) (f ((~>) a b)) (f b)
- type family (a6989586621679276529 :: f a) <**>@#@$$$ (a6989586621679276530 :: f ((~>) a b)) :: f b where ...
- data LiftASym0 :: (~>) ((~>) a b) ((~>) (f a) (f b))
- data LiftASym1 (a6989586621679276518 :: (~>) a b) :: (~>) (f a) (f b)
- type family LiftASym2 (a6989586621679276518 :: (~>) a b) (a6989586621679276519 :: f a) :: f b where ...
- data LiftA2Sym0 :: (~>) ((~>) a ((~>) b c)) ((~>) (f a) ((~>) (f b) (f c)))
- data LiftA2Sym1 (a6989586621679276575 :: (~>) a ((~>) b c)) :: (~>) (f a) ((~>) (f b) (f c))
- data LiftA2Sym2 (a6989586621679276575 :: (~>) a ((~>) b c)) (a6989586621679276576 :: f a) :: (~>) (f b) (f c)
- type family LiftA2Sym3 (a6989586621679276575 :: (~>) a ((~>) b c)) (a6989586621679276576 :: f a) (a6989586621679276577 :: f b) :: f c where ...
- data LiftA3Sym0 :: (~>) ((~>) a ((~>) b ((~>) c d))) ((~>) (f a) ((~>) (f b) ((~>) (f c) (f d))))
- data LiftA3Sym1 (a6989586621679276507 :: (~>) a ((~>) b ((~>) c d))) :: (~>) (f a) ((~>) (f b) ((~>) (f c) (f d)))
- data LiftA3Sym2 (a6989586621679276507 :: (~>) a ((~>) b ((~>) c d))) (a6989586621679276508 :: f a) :: (~>) (f b) ((~>) (f c) (f d))
- data LiftA3Sym3 (a6989586621679276507 :: (~>) a ((~>) b ((~>) c d))) (a6989586621679276508 :: f a) (a6989586621679276509 :: f b) :: (~>) (f c) (f d)
- data OptionalSym0 :: (~>) (f a) (f (Maybe a))
- type family OptionalSym1 (a6989586621680671868 :: 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
PApplicative Identity Source # | |
PApplicative First Source # | |
PApplicative Last Source # | |
PApplicative Down Source # | |
PApplicative First Source # | |
PApplicative Last Source # | |
PApplicative Max Source # | |
PApplicative Min Source # | |
PApplicative Dual Source # | |
PApplicative Product Source # | |
PApplicative Sum Source # | |
PApplicative NonEmpty Source # | |
PApplicative Maybe Source # | |
PApplicative List Source # | |
PApplicative (Either e) Source # | |
PApplicative (Proxy :: Type -> Type) Source # | |
PApplicative ((,) a) Source # | |
PApplicative (Const m :: Type -> Type) Source # | |
PApplicative (Product f g) Source # | |
PApplicative (Compose f g) Source # | |
class SFunctor f => SApplicative f where Source #
sPure :: forall (t :: a). Sing t -> Sing (Apply PureSym0 t :: f a) :: Type Source #
(%<*>) :: forall (t :: f ((~>) a b)) (t :: f a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t :: f b) :: Type infixl 4 Source #
default (%<*>) :: forall (t :: f ((~>) a b)) (t :: f a). (Apply (Apply (<*>@#@$) t) t :: f b) ~ Apply (Apply TFHelper_6989586621679276590Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t :: f b) :: Type Source #
sLiftA2 :: forall (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) :: Type Source #
default sLiftA2 :: forall (t :: (~>) a ((~>) b c)) (t :: f a) (t :: f b). (Apply (Apply (Apply LiftA2Sym0 t) t) t :: f c) ~ Apply (Apply (Apply LiftA2_6989586621679276606Sym0 t) t) t => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t :: f c) :: Type Source #
(%*>) :: forall (t :: f a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t :: f b) :: Type infixl 4 Source #
default (%*>) :: forall (t :: f a) (t :: f b). (Apply (Apply (*>@#@$) t) t :: f b) ~ Apply (Apply TFHelper_6989586621679276622Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t :: f b) :: Type Source #
(%<*) :: forall (t :: f a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t :: f a) :: Type infixl 4 Source #
Instances
SApplicative Identity Source # | |
Defined in Data.Functor.Identity.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Identity (a ~> b)) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) 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 (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Identity a) (t2 :: Identity b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Identity a) (t2 :: Identity b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative First Source # | |
Defined in Data.Monoid.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: First (a ~> b)) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: First a) (t3 :: First b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: First a) (t2 :: First b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: First a) (t2 :: First b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative Last Source # | |
Defined in Data.Monoid.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Last (a ~> b)) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Last a) (t3 :: Last b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Last a) (t2 :: Last b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Last a) (t2 :: Last b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative Down Source # | |
Defined in Control.Applicative.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Down (a ~> b)) (t2 :: Down a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Down a) (t3 :: Down b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Down a) (t2 :: Down b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Down a) (t2 :: Down b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative First Source # | |
Defined in Data.Semigroup.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: First (a ~> b)) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: First a) (t3 :: First b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: First a) (t2 :: First b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: First a) (t2 :: First b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative Last Source # | |
Defined in Data.Semigroup.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Last (a ~> b)) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Last a) (t3 :: Last b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Last a) (t2 :: Last b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Last a) (t2 :: Last b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative Max Source # | |
Defined in Data.Semigroup.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Max (a ~> b)) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Max a) (t3 :: Max b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Max a) (t2 :: Max b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Max a) (t2 :: Max b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative Min Source # | |
Defined in Data.Semigroup.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Min (a ~> b)) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Min a) (t3 :: Min b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Min a) (t2 :: Min b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Min a) (t2 :: Min b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative Dual Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Dual (a ~> b)) (t2 :: Dual a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Dual a) (t3 :: Dual b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Dual a) (t2 :: Dual b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Dual a) (t2 :: Dual b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative Product Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Product (a ~> b)) (t2 :: Product a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Product a) (t3 :: Product b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Product a) (t2 :: Product b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Product a) (t2 :: Product b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative Sum Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Sum (a ~> b)) (t2 :: Sum a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Sum a) (t3 :: Sum b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Sum a) (t2 :: Sum b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Sum a) (t2 :: Sum b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) 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 (t1 :: NonEmpty (a ~> b)) (t2 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: NonEmpty a) (t3 :: NonEmpty b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: NonEmpty a) (t2 :: NonEmpty b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: NonEmpty a) (t2 :: NonEmpty b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) 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 (t1 :: Maybe (a ~> b)) (t2 :: Maybe a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Maybe a) (t3 :: Maybe b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Maybe a) (t2 :: Maybe b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Maybe a) (t2 :: Maybe b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SApplicative List Source # | |
Defined in Control.Monad.Singletons.Internal sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: [a ~> b]) (t2 :: [a]). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: [a]) (t3 :: [b]). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: [a]) (t2 :: [b]). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: [a]) (t2 :: [b]). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) 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 (t1 :: Either e (a ~> b)) (t2 :: Either e a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Either e a) (t3 :: Either e b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Either e a) (t2 :: Either e b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Either e a) (t2 :: Either e b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) 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 (t1 :: Proxy (a ~> b)) (t2 :: Proxy a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) 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 (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Proxy a) (t2 :: Proxy b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Proxy a) (t2 :: Proxy b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) 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 (t1 :: (a, a0 ~> b)) (t2 :: (a, a0)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a0 b c (t1 :: a0 ~> (b ~> c)) (t2 :: (a, a0)) (t3 :: (a, b)). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a0 b (t1 :: (a, a0)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a0 b (t1 :: (a, a0)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) 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 (t1 :: Const m (a ~> b)) (t2 :: Const m a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Const m a) (t3 :: Const m b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Const m a) (t2 :: Const m b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Const m a) (t2 :: Const m b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
(SApplicative f, SApplicative g) => SApplicative (Product f g) Source # | |
Defined in Data.Functor.Product.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Product f g (a ~> b)) (t2 :: Product f g a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Product f g a) (t3 :: Product f g b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Product f g a) (t2 :: Product f g b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Product f g a) (t2 :: Product f g b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
(SApplicative f, SApplicative g) => SApplicative (Compose f g) Source # | |
Defined in Data.Functor.Compose.Singletons sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Compose f g (a ~> b)) (t2 :: Compose f g a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Compose f g a) (t3 :: Compose f g b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Compose f g a) (t2 :: Compose f g b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Compose f g a) (t2 :: Compose f g b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # |
class PAlternative f Source #
Instances
PAlternative Maybe Source # | |
PAlternative List Source # | |
PAlternative (Proxy :: k -> Type) Source # | |
PAlternative (Product f g :: k -> Type) Source # | |
PAlternative (Compose f g :: k2 -> Type) Source # | |
class SApplicative f => SAlternative f where Source #
sEmpty :: Sing (EmptySym0 :: f a) :: Type Source #
(%<|>) :: forall (t :: f a) (t :: f a). Sing t -> Sing t -> Sing (Apply (Apply (<|>@#@$) t) t :: f a) :: Type infixl 3 Source #
Instances
SAlternative Maybe Source # | |
SAlternative List Source # | |
SAlternative (Proxy :: Type -> Type) Source # | |
(SAlternative f, SAlternative g) => SAlternative (Product f g) Source # | |
(SAlternative f, SApplicative g) => SAlternative (Compose f g) 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 testCoercion :: forall (a0 :: k) (b0 :: k). SConst a0 -> SConst b0 -> Maybe (Coercion a0 b0) | |
SDecide a => TestEquality (SConst :: Const a b -> Type) Source # | |
Defined in Data.Functor.Const.Singletons testEquality :: forall (a0 :: k) (b0 :: k). SConst a0 -> SConst b0 -> Maybe (a0 :~: b0) |
Instances
Generic1 (Const a :: k -> Type) | |
SingI1 ('Const :: k1 -> Const k1 b) Source # | |
Defined in Data.Functor.Const.Singletons | |
Eq2 (Const :: Type -> Type -> Type) | |
Defined in Data.Functor.Classes | |
Ord2 (Const :: Type -> Type -> Type) | |
Defined in Data.Functor.Classes liftCompare2 :: (a -> b -> Ordering) -> (c -> d -> Ordering) -> Const a c -> Const b d -> Ordering | |
Read2 (Const :: Type -> Type -> Type) | |
Defined in Data.Functor.Classes liftReadsPrec2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> Int -> ReadS (Const a b) liftReadList2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> ReadS [Const a b] liftReadPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec (Const a b) liftReadListPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [Const a b] | |
Show2 (Const :: Type -> Type -> Type) | |
Defined in Data.Functor.Classes liftShowsPrec2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> Int -> Const a b -> ShowS liftShowList2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> [Const a b] -> ShowS | |
NFData2 (Const :: Type -> Type -> Type) | |
Defined in Control.DeepSeq | |
Foldable (Const m :: Type -> Type) | |
Defined in Data.Functor.Const fold :: Monoid m0 => Const m m0 -> m0 foldMap :: Monoid m0 => (a -> m0) -> Const m a -> m0 foldMap' :: Monoid m0 => (a -> m0) -> Const m a -> m0 foldr :: (a -> b -> b) -> b -> Const m a -> b foldr' :: (a -> b -> b) -> b -> Const m a -> b foldl :: (b -> a -> b) -> b -> Const m a -> b foldl' :: (b -> a -> b) -> b -> Const m a -> b foldr1 :: (a -> a -> a) -> Const m a -> a foldl1 :: (a -> a -> a) -> Const m a -> a elem :: Eq a => a -> Const m a -> Bool maximum :: Ord a => Const m a -> a minimum :: Ord a => Const m a -> a | |
Eq a => Eq1 (Const a :: Type -> Type) | |
Defined in Data.Functor.Classes | |
Ord a => Ord1 (Const a :: Type -> Type) | |
Defined in Data.Functor.Classes liftCompare :: (a0 -> b -> Ordering) -> Const a a0 -> Const a b -> Ordering | |
Read a => Read1 (Const a :: Type -> Type) | |
Defined in Data.Functor.Classes liftReadsPrec :: (Int -> ReadS a0) -> ReadS [a0] -> Int -> ReadS (Const a a0) liftReadList :: (Int -> ReadS a0) -> ReadS [a0] -> ReadS [Const a a0] liftReadPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec (Const a a0) liftReadListPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec [Const a a0] | |
Show a => Show1 (Const a :: Type -> Type) | |
Defined in Data.Functor.Classes liftShowsPrec :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> Int -> Const a a0 -> ShowS liftShowList :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> [Const a a0] -> ShowS | |
Traversable (Const m :: Type -> Type) | |
Monoid m => Applicative (Const m :: Type -> Type) | |
Functor (Const m :: Type -> Type) | |
NFData a => NFData1 (Const a :: Type -> Type) | |
Defined in Control.DeepSeq | |
PApplicative (Const m :: Type -> Type) Source # | |
PFunctor (Const m :: Type -> Type) 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 (t1 :: Const m (a ~> b)) (t2 :: Const m a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Const m a) (t3 :: Const m b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Const m a) (t2 :: Const m b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Const m a) (t2 :: Const m b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
SFunctor (Const m :: Type -> Type) Source # | |
PFoldable (Const m :: Type -> Type) Source # | |
Defined in Data.Functor.Const.Singletons type FoldMap arg arg1 :: m Source # type Foldr arg arg1 arg2 :: b Source # type Foldr' arg arg1 arg2 :: b Source # type Foldl arg arg1 arg2 :: b Source # type Foldl' arg arg1 arg2 :: b Source # type Foldr1 arg arg1 :: a Source # type Foldl1 arg arg1 :: a Source # type ToList arg :: [a] Source # type Null arg :: Bool Source # type Length arg :: Natural Source # type Elem arg arg1 :: Bool Source # type Maximum arg :: a Source # | |
SFoldable (Const m :: Type -> Type) Source # | |
Defined in Data.Functor.Const.Singletons sFold :: forall m0 (t1 :: Const m m0). SMonoid m0 => Sing t1 -> Sing (Apply FoldSym0 t1) Source # sFoldMap :: forall a m0 (t1 :: a ~> m0) (t2 :: Const m a). SMonoid m0 => Sing t1 -> Sing t2 -> Sing (Apply (Apply FoldMapSym0 t1) t2) Source # sFoldr :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Const m a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldrSym0 t1) t2) t3) Source # sFoldr' :: forall a b (t1 :: a ~> (b ~> b)) (t2 :: b) (t3 :: Const m a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t1) t2) t3) Source # sFoldl :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Const m a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply FoldlSym0 t1) t2) t3) Source # sFoldl' :: forall b a (t1 :: b ~> (a ~> b)) (t2 :: b) (t3 :: Const m a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply Foldl'Sym0 t1) t2) t3) Source # sFoldr1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Const m a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldr1Sym0 t1) t2) Source # sFoldl1 :: forall a (t1 :: a ~> (a ~> a)) (t2 :: Const m a). Sing t1 -> Sing t2 -> Sing (Apply (Apply Foldl1Sym0 t1) t2) Source # sToList :: forall a (t1 :: Const m a). Sing t1 -> Sing (Apply ToListSym0 t1) Source # sNull :: forall a (t1 :: Const m a). Sing t1 -> Sing (Apply NullSym0 t1) Source # sLength :: forall a (t1 :: Const m a). Sing t1 -> Sing (Apply LengthSym0 t1) Source # sElem :: forall a (t1 :: a) (t2 :: Const m a). SEq a => Sing t1 -> Sing t2 -> Sing (Apply (Apply ElemSym0 t1) t2) Source # sMaximum :: forall a (t1 :: Const m a). SOrd a => Sing t1 -> Sing (Apply MaximumSym0 t1) Source # sMinimum :: forall a (t1 :: Const m a). SOrd a => Sing t1 -> Sing (Apply MinimumSym0 t1) Source # sSum :: forall a (t1 :: Const m a). SNum a => Sing t1 -> Sing (Apply SumSym0 t1) Source # sProduct :: forall a (t1 :: Const m a). SNum a => Sing t1 -> Sing (Apply ProductSym0 t1) Source # | |
PTraversable (Const m :: Type -> Type) Source # | |
STraversable (Const m :: Type -> Type) Source # | |
Defined in Data.Traversable.Singletons sTraverse :: forall a (f :: Type -> Type) b (t1 :: a ~> f b) (t2 :: Const m a). SApplicative f => Sing t1 -> Sing t2 -> Sing (Apply (Apply TraverseSym0 t1) t2) Source # sSequenceA :: forall (f :: Type -> Type) a (t1 :: Const m (f a)). SApplicative f => Sing t1 -> Sing (Apply SequenceASym0 t1) Source # sMapM :: forall a (m0 :: Type -> Type) b (t1 :: a ~> m0 b) (t2 :: Const m a). SMonad m0 => Sing t1 -> Sing t2 -> Sing (Apply (Apply MapMSym0 t1) t2) Source # sSequence :: forall (m0 :: Type -> Type) a (t1 :: Const m (m0 a)). SMonad m0 => Sing t1 -> Sing (Apply SequenceSym0 t1) Source # | |
SingI (GetConstSym0 :: TyFun (Const a b) a -> Type) Source # | |
Defined in Data.Functor.Const.Singletons sing :: Sing GetConstSym0 # | |
SingI (ConstSym0 :: TyFun a (Const a b) -> Type) Source # | |
Defined in Data.Functor.Const.Singletons | |
SuppressUnusedWarnings (GetConstSym0 :: TyFun (Const a b) a -> Type) Source # | |
Defined in Data.Functor.Const.Singletons suppressUnusedWarnings :: () # | |
IsString a => IsString (Const a b) | |
Defined in Data.String fromString :: String -> Const a b | |
Storable a => Storable (Const a b) | |
Defined in Data.Functor.Const peekElemOff :: Ptr (Const a b) -> Int -> IO (Const a b) pokeElemOff :: Ptr (Const a b) -> Int -> Const a b -> IO () peekByteOff :: Ptr b0 -> Int -> IO (Const a b) pokeByteOff :: Ptr b0 -> Int -> Const a b -> IO () | |
Monoid a => Monoid (Const a b) | |
Semigroup a => Semigroup (Const a b) | |
Bits a => Bits (Const a b) | |
Defined in Data.Functor.Const (.&.) :: Const a b -> Const a b -> Const a b (.|.) :: Const a b -> Const a b -> Const a b xor :: Const a b -> Const a b -> Const a b complement :: Const a b -> Const a b shift :: Const a b -> Int -> Const a b rotate :: Const a b -> Int -> Const a b setBit :: Const a b -> Int -> Const a b clearBit :: Const a b -> Int -> Const a b complementBit :: Const a b -> Int -> Const a b testBit :: Const a b -> Int -> Bool bitSizeMaybe :: Const a b -> Maybe Int shiftL :: Const a b -> Int -> Const a b unsafeShiftL :: Const a b -> Int -> Const a b shiftR :: Const a b -> Int -> Const a b unsafeShiftR :: Const a b -> Int -> Const a b rotateL :: Const a b -> Int -> Const a b | |
FiniteBits a => FiniteBits (Const a b) | |
Defined in Data.Functor.Const finiteBitSize :: Const a b -> Int countLeadingZeros :: Const a b -> Int countTrailingZeros :: Const a b -> Int | |
Bounded a => Bounded (Const a b) | |
Defined in Data.Functor.Const | |
Enum a => Enum (Const a b) | |
Floating a => Floating (Const a b) | |
Defined in Data.Functor.Const sqrt :: Const a b -> Const a b (**) :: Const a b -> Const a b -> Const a b logBase :: Const a b -> Const a b -> Const a b asin :: Const a b -> Const a b acos :: Const a b -> Const a b atan :: Const a b -> Const a b sinh :: Const a b -> Const a b cosh :: Const a b -> Const a b tanh :: Const a b -> Const a b asinh :: Const a b -> Const a b acosh :: Const a b -> Const a b atanh :: Const a b -> Const a b log1p :: Const a b -> Const a b expm1 :: Const a b -> Const a b | |
RealFloat a => RealFloat (Const a b) | |
Defined in Data.Functor.Const floatRadix :: Const a b -> Integer floatDigits :: Const a b -> Int floatRange :: Const a b -> (Int, Int) decodeFloat :: Const a b -> (Integer, Int) encodeFloat :: Integer -> Int -> Const a b significand :: Const a b -> Const a b scaleFloat :: Int -> Const a b -> Const a b isInfinite :: Const a b -> Bool isDenormalized :: Const a b -> Bool isNegativeZero :: Const a b -> Bool | |
Generic (Const a b) | |
Ix a => Ix (Const a b) | |
Defined in Data.Functor.Const | |
Num a => Num (Const a b) | |
Read a => Read (Const a b) | |
Defined in Data.Functor.Const | |
Fractional a => Fractional (Const a b) | |
Defined in Data.Functor.Const | |
Integral a => Integral (Const a b) | |
Defined in Data.Functor.Const | |
Real a => Real (Const a b) | |
Defined in Data.Functor.Const toRational :: Const a b -> Rational | |
RealFrac a => RealFrac (Const a b) | |
Show a => Show (Const a b) | |
NFData a => NFData (Const a b) | |
Defined in Control.DeepSeq | |
Eq a => Eq (Const a b) | |
Ord a => Ord (Const a b) | |
Defined in Data.Functor.Const | |
SingKind a => SingKind (Const a b) Source # | |
SDecide a => SDecide (Const a b) Source # | |
PEq (Const a b) Source # | |
SEq a => SEq (Const a b) Source # | |
PMonoid (Const a b) Source # | |
SMonoid a => SMonoid (Const a b) Source # | |
POrd (Const a b) Source # | |
SOrd a => SOrd (Const a b) Source # | |
Defined in Data.Functor.Const.Singletons sCompare :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
PSemigroup (Const a b) Source # | |
SSemigroup a => SSemigroup (Const a b) Source # | |
PBounded (Const a b) Source # | |
PEnum (Const a b) Source # | |
SBounded a => SBounded (Const a b) Source # | |
Defined in Data.Functor.Const.Singletons | |
SEnum a => SEnum (Const a b) Source # | |
Defined in Data.Functor.Const.Singletons sSucc :: forall (t :: Const a b). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Const a b). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Const a b). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply EnumFromToSym0 t1) t2) Source # sEnumFromThenTo :: forall (t1 :: Const a b) (t2 :: Const a b) (t3 :: Const a b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t1) t2) t3) Source # | |
PIsString (Const a b) Source # | |
Defined in Data.String.Singletons type FromString arg :: a Source # | |
SIsString a => SIsString (Const a b) Source # | |
Defined in Data.String.Singletons sFromString :: forall (t :: Symbol). Sing t -> Sing (Apply FromStringSym0 t) Source # | |
PNum (Const a b) Source # | |
SNum a => SNum (Const a b) Source # | |
Defined in Data.Functor.Const.Singletons (%+) :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (+@#@$) t1) t2) Source # (%-) :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (-@#@$) t1) t2) Source # (%*) :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*@#@$) t1) t2) Source # sNegate :: forall (t :: Const a b). Sing t -> Sing (Apply NegateSym0 t) Source # sAbs :: forall (t :: Const a b). Sing t -> Sing (Apply AbsSym0 t) Source # sSignum :: forall (t :: Const a b). Sing t -> Sing (Apply SignumSym0 t) Source # sFromInteger :: forall (t :: Natural). Sing t -> Sing (Apply FromIntegerSym0 t) Source # | |
PShow (Const a b) Source # | |
SShow a => SShow (Const a b) Source # | |
Defined in Data.Functor.Const.Singletons sShowsPrec :: forall (t1 :: Natural) (t2 :: Const a b) (t3 :: Symbol). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t1) t2) t3) Source # sShow_ :: forall (t :: Const a b). Sing t -> Sing (Apply Show_Sym0 t) Source # sShowList :: forall (t1 :: [Const a b]) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply ShowListSym0 t1) t2) Source # | |
SDecide a => TestCoercion (SConst :: Const a b -> Type) | |
Defined in Data.Functor.Const.Singletons testCoercion :: forall (a0 :: k) (b0 :: k). SConst a0 -> SConst b0 -> Maybe (Coercion a0 b0) | |
SDecide a => TestEquality (SConst :: Const a b -> Type) | |
Defined in Data.Functor.Const.Singletons testEquality :: forall (a0 :: k) (b0 :: k). SConst a0 -> SConst b0 -> Maybe (a0 :~: b0) | |
SingI a2 => SingI ('Const a2 :: Const a1 b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type MapM (arg1 :: a ~> m1 b) (arg2 :: Const m2 a) Source # | |
Defined in Data.Traversable.Singletons | |
type Traverse (a2 :: a1 ~> f b) (a3 :: Const m a1) Source # | |
Defined in Data.Traversable.Singletons | |
type LiftA2 (a2 :: a1 ~> (b ~> c)) (a3 :: Const m a1) (a4 :: Const m b) Source # | |
type Fmap (a2 :: a1 ~> b) (a3 :: Const m a1) Source # | |
Defined in Data.Functor.Const.Singletons | |
type FoldMap (a2 :: a1 ~> k2) (a3 :: Const m a1) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Foldl (arg :: b ~> (a ~> b)) (arg1 :: b) (arg2 :: Const m a) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Foldl' (arg :: b ~> (a ~> b)) (arg1 :: b) (arg2 :: Const m a) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Const m a1) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Foldr' (arg :: a ~> (b ~> b)) (arg1 :: b) (arg2 :: Const m a) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Rep1 (Const a :: k -> Type) | |
Defined in Data.Functor.Const type Rep1 (Const a :: k -> Type) = D1 ('MetaData "Const" "Data.Functor.Const" "base" 'True) (C1 ('MetaCons "Const" 'PrefixI 'True) (S1 ('MetaSel ('Just "getConst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) | |
type Pure (a :: k1) Source # | |
Defined in Data.Functor.Const.Singletons type Pure (a :: k1) | |
type Elem (arg :: a) (arg1 :: Const m a) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Foldl1 (arg :: a ~> (a ~> a)) (arg1 :: Const m a) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Foldr1 (arg :: a ~> (a ~> a)) (arg1 :: Const m a) Source # | |
Defined in Data.Functor.Const.Singletons | |
type (a1 :: k1) <$ (a2 :: Const m b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Apply (ConstSym0 :: TyFun a (Const a b) -> Type) (x :: a) Source # | |
type Fold (arg :: Const m1 m2) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Length (arg :: Const m a) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Maximum (arg :: Const m a) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Minimum (arg :: Const m a) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Null (arg :: Const m a) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Product (arg :: Const m a) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Sum (arg :: Const m a) Source # | |
Defined in Data.Functor.Const.Singletons | |
type ToList (arg :: Const m a) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Sequence (arg :: Const m1 (m2 a)) Source # | |
Defined in Data.Traversable.Singletons | |
type SequenceA (arg :: Const m (f a)) Source # | |
Defined in Data.Traversable.Singletons | |
type (arg :: Const m a) *> (arg1 :: Const m b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type (arg :: Const m a) <* (arg1 :: Const m b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type (a2 :: Const m (a1 ~> b)) <*> (a3 :: Const m a1) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Rep (Const a b) | |
Defined in Data.Functor.Const type Rep (Const a b) = D1 ('MetaData "Const" "Data.Functor.Const" "base" 'True) (C1 ('MetaCons "Const" 'PrefixI 'True) (S1 ('MetaSel ('Just "getConst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) | |
type Demote (Const a b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Sing Source # | |
Defined in Data.Functor.Const.Singletons | |
type Mempty Source # | |
Defined in Data.Functor.Const.Singletons type Mempty | |
type MaxBound Source # | |
Defined in Data.Functor.Const.Singletons type MaxBound | |
type MinBound Source # | |
Defined in Data.Functor.Const.Singletons type MinBound | |
type Mconcat (arg :: [Const a b]) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Sconcat (arg :: NonEmpty (Const a b)) Source # | |
Defined in Data.Functor.Const.Singletons | |
type FromEnum (a2 :: Const a1 b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Pred (a2 :: Const a1 b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Succ (a2 :: Const a1 b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type ToEnum a2 Source # | |
Defined in Data.Functor.Const.Singletons type ToEnum a2 | |
type FromString a2 Source # | |
Defined in Data.String.Singletons type FromString a2 | |
type Abs (a2 :: Const a1 b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type FromInteger a2 Source # | |
Defined in Data.Functor.Const.Singletons type FromInteger a2 | |
type Negate (a2 :: Const a1 b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Signum (a2 :: Const a1 b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Show_ (arg :: Const a b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type (arg :: Const a b) /= (arg1 :: Const a b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type (a2 :: Const a1 b) == (a3 :: Const a1 b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Mappend (arg :: Const a b) (arg1 :: Const a b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type (arg :: Const a b) < (arg1 :: Const a b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type (arg :: Const a b) <= (arg1 :: Const a b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type (arg :: Const a b) > (arg1 :: Const a b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type (arg :: Const a b) >= (arg1 :: Const a b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Compare (a2 :: Const a1 b) (a3 :: Const a1 b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Max (arg :: Const a b) (arg1 :: Const a b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type Min (arg :: Const a b) (arg1 :: Const a b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type (a2 :: Const a1 b) <> (a3 :: Const a1 b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type EnumFromTo (a2 :: Const a1 b) (a3 :: Const a1 b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type (a2 :: Const a1 b) * (a3 :: Const a1 b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type (a2 :: Const a1 b) + (a3 :: Const a1 b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type (a2 :: Const a1 b) - (a3 :: Const a1 b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type ShowList (arg :: [Const a b]) arg1 Source # | |
Defined in Data.Functor.Const.Singletons | |
type EnumFromThenTo (a2 :: Const a1 b) (a3 :: Const a1 b) (a4 :: Const a1 b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type ShowsPrec a2 (a3 :: Const a1 b) a4 Source # | |
Defined in Data.Functor.Const.Singletons | |
type Apply (GetConstSym0 :: TyFun (Const a b) a -> Type) (a6989586621680339158 :: Const a b) Source # | |
Defined in Data.Functor.Const.Singletons |
(%<$>) :: forall (t :: (~>) a b) (t :: f a). SFunctor f => Sing t -> Sing t -> Sing (Apply (Apply (<$>@#@$) t) t :: f b) :: Type infixl 4 Source #
type family (arg :: a) <$ (arg :: f b) :: f a infixl 4 Source #
Instances
type (a1 :: k1) <$ (a2 :: Identity b) Source # | |
Defined in Data.Functor.Identity.Singletons type (a1 :: k1) <$ (a2 :: Identity b) | |
type (a1 :: k1) <$ (a2 :: First b) Source # | |
Defined in Data.Monoid.Singletons type (a1 :: k1) <$ (a2 :: First b) | |
type (a1 :: k1) <$ (a2 :: Last b) Source # | |
Defined in Data.Monoid.Singletons type (a1 :: k1) <$ (a2 :: Last b) | |
type (a1 :: k1) <$ (a2 :: Down b) Source # | |
Defined in Data.Functor.Singletons type (a1 :: k1) <$ (a2 :: Down b) | |
type (a1 :: k1) <$ (a2 :: First b) Source # | |
Defined in Data.Semigroup.Singletons type (a1 :: k1) <$ (a2 :: First b) | |
type (a1 :: k1) <$ (a2 :: Last b) Source # | |
Defined in Data.Semigroup.Singletons type (a1 :: k1) <$ (a2 :: Last b) | |
type (a1 :: k1) <$ (a2 :: Max b) Source # | |
Defined in Data.Semigroup.Singletons type (a1 :: k1) <$ (a2 :: Max b) | |
type (a1 :: k1) <$ (a2 :: Min b) Source # | |
Defined in Data.Semigroup.Singletons type (a1 :: k1) <$ (a2 :: Min b) | |
type (a1 :: k1) <$ (a2 :: Dual b) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers type (a1 :: k1) <$ (a2 :: Dual b) | |
type (a1 :: k1) <$ (a2 :: Product b) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers type (a1 :: k1) <$ (a2 :: Product b) | |
type (a1 :: k1) <$ (a2 :: Sum b) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers type (a1 :: k1) <$ (a2 :: Sum b) | |
type (a1 :: k1) <$ (a2 :: NonEmpty b) Source # | |
Defined in Control.Monad.Singletons.Internal type (a1 :: k1) <$ (a2 :: NonEmpty b) | |
type (a1 :: k1) <$ (a2 :: Maybe b) Source # | |
Defined in Control.Monad.Singletons.Internal type (a1 :: k1) <$ (a2 :: Maybe b) | |
type (a1 :: k1) <$ (a2 :: [b]) Source # | |
Defined in Control.Monad.Singletons.Internal type (a1 :: k1) <$ (a2 :: [b]) | |
type (arg :: a) <$ (arg1 :: Proxy b) Source # | |
Defined in Data.Proxy.Singletons | |
type (a2 :: k1) <$ (a3 :: Either a1 b) Source # | |
Defined in Control.Monad.Singletons.Internal type (a2 :: k1) <$ (a3 :: Either a1 b) | |
type (a2 :: k1) <$ (a3 :: Arg a1 b) Source # | |
Defined in Data.Semigroup.Singletons type (a2 :: k1) <$ (a3 :: Arg a1 b) | |
type (a2 :: k1) <$ (a3 :: (a1, b)) Source # | |
Defined in Data.Functor.Singletons type (a2 :: k1) <$ (a3 :: (a1, b)) | |
type (a1 :: k1) <$ (a2 :: Const m b) Source # | |
Defined in Data.Functor.Const.Singletons | |
type (a1 :: k1) <$ (a2 :: Product f g b) Source # | |
Defined in Data.Functor.Product.Singletons type (a1 :: k1) <$ (a2 :: Product f g b) | |
type (a1 :: k1) <$ (a2 :: Sum f g b) Source # | |
Defined in Data.Functor.Sum.Singletons type (a1 :: k1) <$ (a2 :: Sum f g b) | |
type (a1 :: k1) <$ (a2 :: Compose f g b) Source # | |
Defined in Data.Functor.Compose.Singletons type (a1 :: k1) <$ (a2 :: Compose f g b) |
(%<$) :: SFunctor f => forall (t :: a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t :: f a) :: Type infixl 4 Source #
(%<**>) :: forall (t :: f a) (t :: f ((~>) a b)). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply (<**>@#@$) t) t :: f b) :: Type infixl 4 Source #
sLiftA :: forall (t :: (~>) a b) (t :: f a). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply LiftASym0 t) t :: f b) :: Type Source #
type family LiftA3 (a :: (~>) a ((~>) b ((~>) c d))) (a :: f a) (a :: f b) (a :: f c) :: f d where ... Source #
sLiftA3 :: forall (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 Source #
sOptional :: forall (t :: f a). SAlternative f => Sing t -> Sing (Apply OptionalSym0 t :: f (Maybe a)) :: Type 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) (a6989586621679276565 :: a) Source # | |
Defined in Control.Monad.Singletons.Internal |
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) (a6989586621679276569 :: f (a ~> b)) Source # | |
Defined in Control.Monad.Singletons.Internal |
data (<*>@#@$$) (a6989586621679276569 :: f ((~>) a b)) :: (~>) (f a) (f b) infixl 4 Source #
Instances
SApplicative f => SingI1 ((<*>@#@$$) :: f (a ~> b) -> TyFun (f a) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal liftSing :: forall (x :: k1). Sing x -> Sing ((<*>@#@$$) x) # | |
(SApplicative f, SingI d) => SingI ((<*>@#@$$) d :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing ((<*>@#@$$) d) # | |
SuppressUnusedWarnings ((<*>@#@$$) a6989586621679276569 :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<*>@#@$$) a6989586621679276569 :: TyFun (f a) (f b) -> Type) (a6989586621679276570 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply ((<*>@#@$$) a6989586621679276569 :: TyFun (f a) (f b) -> Type) (a6989586621679276570 :: f a) = a6989586621679276569 <*> a6989586621679276570 |
type family (a6989586621679276569 :: f ((~>) a b)) <*>@#@$$$ (a6989586621679276570 :: 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) (a6989586621679276581 :: f a) Source # | |
data (*>@#@$$) (a6989586621679276581 :: f a) :: (~>) (f b) (f b) infixl 4 Source #
Instances
SApplicative f => SingI1 ((*>@#@$$) :: f a -> TyFun (f b) (f b) -> Type) Source # | |
(SApplicative f, SingI d) => SingI ((*>@#@$$) d :: TyFun (f b) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings ((*>@#@$$) a6989586621679276581 :: TyFun (f b) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((*>@#@$$) a6989586621679276581 :: TyFun (f b) (f b) -> Type) (a6989586621679276582 :: f b) Source # | |
Defined in Control.Monad.Singletons.Internal |
type family (a6989586621679276581 :: f a) *>@#@$$$ (a6989586621679276582 :: 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) (a6989586621679276586 :: f a) Source # | |
data (<*@#@$$) (a6989586621679276586 :: f a) :: (~>) (f b) (f a) infixl 4 Source #
Instances
SApplicative f => SingI1 ((<*@#@$$) :: f a -> TyFun (f b) (f a) -> Type) Source # | |
(SApplicative f, SingI d) => SingI ((<*@#@$$) d :: TyFun (f b) (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings ((<*@#@$$) a6989586621679276586 :: TyFun (f b) (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<*@#@$$) a6989586621679276586 :: TyFun (f b) (f a) -> Type) (a6989586621679276587 :: f b) Source # | |
Defined in Control.Monad.Singletons.Internal |
type family (a6989586621679276586 :: f a) <*@#@$$$ (a6989586621679276587 :: 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) (a6989586621679276690 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply ((<|>@#@$) :: TyFun (f a) (f a ~> f a) -> Type) (a6989586621679276690 :: f a) = (<|>@#@$$) a6989586621679276690 |
data (<|>@#@$$) (a6989586621679276690 :: f a) :: (~>) (f a) (f a) infixl 3 Source #
Instances
SAlternative f => SingI1 ((<|>@#@$$) :: f a -> TyFun (f a) (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal liftSing :: forall (x :: k1). Sing x -> Sing ((<|>@#@$$) x) # | |
(SAlternative f, SingI d) => SingI ((<|>@#@$$) d :: TyFun (f a) (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing ((<|>@#@$$) d) # | |
SuppressUnusedWarnings ((<|>@#@$$) a6989586621679276690 :: TyFun (f a) (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<|>@#@$$) a6989586621679276690 :: TyFun (f a) (f a) -> Type) (a6989586621679276691 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply ((<|>@#@$$) a6989586621679276690 :: TyFun (f a) (f a) -> Type) (a6989586621679276691 :: f a) = a6989586621679276690 <|> a6989586621679276691 |
type family (a6989586621679276690 :: f a) <|>@#@$$$ (a6989586621679276691 :: f a) :: f a where ... infixl 3 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) (a6989586621680339158 :: Const a b) Source # | |
Defined in Data.Functor.Const.Singletons |
type family GetConstSym1 (a6989586621680339158 :: Const a b) :: a where ... Source #
GetConstSym1 a6989586621680339158 = GetConst a6989586621680339158 |
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) (a6989586621679430465 :: a ~> b) Source # | |
Defined in Data.Functor.Singletons |
data (<$>@#@$$) (a6989586621679430465 :: (~>) a b) :: (~>) (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 liftSing :: forall (x :: k1). Sing x -> Sing ((<$>@#@$$) x) # | |
(SFunctor f, SingI d) => SingI ((<$>@#@$$) d :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Data.Functor.Singletons sing :: Sing ((<$>@#@$$) d) # | |
SuppressUnusedWarnings ((<$>@#@$$) a6989586621679430465 :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Data.Functor.Singletons suppressUnusedWarnings :: () # | |
type Apply ((<$>@#@$$) a6989586621679430465 :: TyFun (f a) (f b) -> Type) (a6989586621679430466 :: f a) Source # | |
Defined in Data.Functor.Singletons type Apply ((<$>@#@$$) a6989586621679430465 :: TyFun (f a) (f b) -> Type) (a6989586621679430466 :: f a) = a6989586621679430465 <$> a6989586621679430466 |
type family (a6989586621679430465 :: (~>) a b) <$>@#@$$$ (a6989586621679430466 :: 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) (a6989586621679276546 :: a) Source # | |
data (<$@#@$$) (a6989586621679276546 :: a) :: (~>) (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 # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings ((<$@#@$$) a6989586621679276546 :: TyFun (f b) (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<$@#@$$) a6989586621679276546 :: TyFun (f b) (f a) -> Type) (a6989586621679276547 :: f b) Source # | |
Defined in Control.Monad.Singletons.Internal |
type family (a6989586621679276546 :: a) <$@#@$$$ (a6989586621679276547 :: 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) (a6989586621679276529 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply ((<**>@#@$) :: TyFun (f a) (f (a ~> b) ~> f b) -> Type) (a6989586621679276529 :: f a) = (<**>@#@$$) a6989586621679276529 :: TyFun (f (a ~> b)) (f b) -> Type |
data (<**>@#@$$) (a6989586621679276529 :: f a) :: (~>) (f ((~>) a b)) (f b) infixl 4 Source #
Instances
SApplicative f => SingI1 ((<**>@#@$$) :: f a -> TyFun (f (a ~> b)) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal liftSing :: forall (x :: k1). Sing x -> Sing ((<**>@#@$$) x) # | |
(SApplicative f, SingI d) => SingI ((<**>@#@$$) d :: TyFun (f (a ~> b)) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing ((<**>@#@$$) d) # | |
SuppressUnusedWarnings ((<**>@#@$$) a6989586621679276529 :: TyFun (f (a ~> b)) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply ((<**>@#@$$) a6989586621679276529 :: TyFun (f (a ~> b)) (f b) -> Type) (a6989586621679276530 :: f (a ~> b)) Source # | |
Defined in Control.Monad.Singletons.Internal |
type family (a6989586621679276529 :: f a) <**>@#@$$$ (a6989586621679276530 :: f ((~>) a b)) :: f b where ... infixl 4 Source #
a6989586621679276529 <**>@#@$$$ a6989586621679276530 = (<**>) a6989586621679276529 a6989586621679276530 |
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) (a6989586621679276518 :: a ~> b) Source # | |
data LiftASym1 (a6989586621679276518 :: (~>) a b) :: (~>) (f a) (f b) Source #
Instances
SApplicative f => SingI1 (LiftASym1 :: (a ~> b) -> TyFun (f a) (f b) -> Type) Source # | |
(SApplicative f, SingI d) => SingI (LiftASym1 d :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
SuppressUnusedWarnings (LiftASym1 a6989586621679276518 :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (LiftASym1 a6989586621679276518 :: TyFun (f a) (f b) -> Type) (a6989586621679276519 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal |
type family LiftASym2 (a6989586621679276518 :: (~>) a b) (a6989586621679276519 :: 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) (a6989586621679276575 :: a ~> (b ~> c)) Source # | |
Defined in Control.Monad.Singletons.Internal |
data LiftA2Sym1 (a6989586621679276575 :: (~>) a ((~>) b c)) :: (~>) (f a) ((~>) (f b) (f c)) Source #
Instances
SApplicative f => SingI1 (LiftA2Sym1 :: (a ~> (b ~> c)) -> TyFun (f a) (f b ~> f c) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal liftSing :: forall (x :: k1). Sing x -> Sing (LiftA2Sym1 x) # | |
(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 a6989586621679276575 :: TyFun (f a) (f b ~> f c) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (LiftA2Sym1 a6989586621679276575 :: TyFun (f a) (f b ~> f c) -> Type) (a6989586621679276576 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply (LiftA2Sym1 a6989586621679276575 :: TyFun (f a) (f b ~> f c) -> Type) (a6989586621679276576 :: f a) = LiftA2Sym2 a6989586621679276575 a6989586621679276576 |
data LiftA2Sym2 (a6989586621679276575 :: (~>) a ((~>) b c)) (a6989586621679276576 :: f a) :: (~>) (f b) (f c) Source #
Instances
(SApplicative f, SingI d) => SingI1 (LiftA2Sym2 d :: f a -> TyFun (f b) (f c) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal liftSing :: forall (x :: k1). Sing x -> Sing (LiftA2Sym2 d x) # | |
SApplicative f => SingI2 (LiftA2Sym2 :: (a ~> (b ~> c)) -> f a -> TyFun (f b) (f c) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
(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 a6989586621679276575 a6989586621679276576 :: TyFun (f b) (f c) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (LiftA2Sym2 a6989586621679276575 a6989586621679276576 :: TyFun (f b) (f c) -> Type) (a6989586621679276577 :: f b) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply (LiftA2Sym2 a6989586621679276575 a6989586621679276576 :: TyFun (f b) (f c) -> Type) (a6989586621679276577 :: f b) = LiftA2 a6989586621679276575 a6989586621679276576 a6989586621679276577 |
type family LiftA2Sym3 (a6989586621679276575 :: (~>) a ((~>) b c)) (a6989586621679276576 :: f a) (a6989586621679276577 :: f b) :: f c where ... Source #
LiftA2Sym3 a6989586621679276575 a6989586621679276576 a6989586621679276577 = LiftA2 a6989586621679276575 a6989586621679276576 a6989586621679276577 |
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) (a6989586621679276507 :: a ~> (b ~> (c ~> d))) Source # | |
data LiftA3Sym1 (a6989586621679276507 :: (~>) a ((~>) b ((~>) c d))) :: (~>) (f a) ((~>) (f b) ((~>) (f c) (f d))) Source #
Instances
SApplicative f => SingI1 (LiftA3Sym1 :: (a ~> (b ~> (c ~> d))) -> TyFun (f a) (f b ~> (f c ~> f d)) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal liftSing :: forall (x :: k1). Sing x -> Sing (LiftA3Sym1 x) # | |
(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 a6989586621679276507 :: TyFun (f a) (f b ~> (f c ~> f d)) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (LiftA3Sym1 a6989586621679276507 :: TyFun (f a) (f b ~> (f c ~> f d)) -> Type) (a6989586621679276508 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply (LiftA3Sym1 a6989586621679276507 :: TyFun (f a) (f b ~> (f c ~> f d)) -> Type) (a6989586621679276508 :: f a) = LiftA3Sym2 a6989586621679276507 a6989586621679276508 |
data LiftA3Sym2 (a6989586621679276507 :: (~>) a ((~>) b ((~>) c d))) (a6989586621679276508 :: f a) :: (~>) (f b) ((~>) (f c) (f d)) Source #
Instances
(SApplicative f, SingI d2) => SingI1 (LiftA3Sym2 d2 :: f a -> TyFun (f b) (f c ~> f d1) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal liftSing :: forall (x :: k1). Sing x -> Sing (LiftA3Sym2 d2 x) # | |
SApplicative f => SingI2 (LiftA3Sym2 :: (a ~> (b ~> (c ~> d))) -> f a -> TyFun (f b) (f c ~> f d) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
(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 a6989586621679276507 a6989586621679276508 :: TyFun (f b) (f c ~> f d) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (LiftA3Sym2 a6989586621679276507 a6989586621679276508 :: TyFun (f b) (f c ~> f d) -> Type) (a6989586621679276509 :: f b) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply (LiftA3Sym2 a6989586621679276507 a6989586621679276508 :: TyFun (f b) (f c ~> f d) -> Type) (a6989586621679276509 :: f b) = LiftA3Sym3 a6989586621679276507 a6989586621679276508 a6989586621679276509 |
data LiftA3Sym3 (a6989586621679276507 :: (~>) a ((~>) b ((~>) c d))) (a6989586621679276508 :: f a) (a6989586621679276509 :: f b) :: (~>) (f c) (f d) Source #
Instances
(SApplicative f, SingI d2) => SingI2 (LiftA3Sym3 d2 :: f a -> f b -> TyFun (f c) (f d1) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal | |
(SApplicative f, SingI d2, SingI d3) => SingI1 (LiftA3Sym3 d2 d3 :: f b -> TyFun (f c) (f d1) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal liftSing :: forall (x :: k1). Sing x -> Sing (LiftA3Sym3 d2 d3 x) # | |
(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 a6989586621679276507 a6989586621679276508 a6989586621679276509 :: TyFun (f c) (f d) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () # | |
type Apply (LiftA3Sym3 a6989586621679276507 a6989586621679276508 a6989586621679276509 :: TyFun (f c) (f d) -> Type) (a6989586621679276510 :: f c) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply (LiftA3Sym3 a6989586621679276507 a6989586621679276508 a6989586621679276509 :: TyFun (f c) (f d) -> Type) (a6989586621679276510 :: f c) = LiftA3 a6989586621679276507 a6989586621679276508 a6989586621679276509 a6989586621679276510 |
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) (a6989586621680671868 :: f a) Source # | |
Defined in Control.Applicative.Singletons type Apply (OptionalSym0 :: TyFun (f a) (f (Maybe a)) -> Type) (a6989586621680671868 :: f a) = Optional a6989586621680671868 |
type family OptionalSym1 (a6989586621680671868 :: f a) :: f (Maybe a) where ... Source #
OptionalSym1 a6989586621680671868 = Optional a6989586621680671868 |
Orphan instances
PApplicative Down Source # | |
SApplicative Down Source # | |
sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a b (t1 :: Down (a ~> b)) (t2 :: Down a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: Down a) (t3 :: Down b). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a b (t1 :: Down a) (t2 :: Down b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a b (t1 :: Down a) (t2 :: Down b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # | |
PApplicative ((,) a) Source # | |
SMonoid a => SApplicative ((,) a) Source # | |
sPure :: forall a0 (t :: a0). Sing t -> Sing (Apply PureSym0 t) Source # (%<*>) :: forall a0 b (t1 :: (a, a0 ~> b)) (t2 :: (a, a0)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*>@#@$) t1) t2) Source # sLiftA2 :: forall a0 b c (t1 :: a0 ~> (b ~> c)) (t2 :: (a, a0)) (t3 :: (a, b)). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply LiftA2Sym0 t1) t2) t3) Source # (%*>) :: forall a0 b (t1 :: (a, a0)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (*>@#@$) t1) t2) Source # (%<*) :: forall a0 b (t1 :: (a, a0)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<*@#@$) t1) t2) Source # |