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 (a6989586621679362331 :: a) :: f a where ...
- data (<*>@#@$) :: (~>) (f ((~>) a b)) ((~>) (f a) (f b))
- data (<*>@#@$$) (a6989586621679362335 :: f ((~>) a b)) :: (~>) (f a) (f b)
- type family (a6989586621679362335 :: f ((~>) a b)) <*>@#@$$$ (a6989586621679362336 :: f a) :: f b where ...
- data (*>@#@$) :: (~>) (f a) ((~>) (f b) (f b))
- data (*>@#@$$) (a6989586621679362347 :: f a) :: (~>) (f b) (f b)
- type family (a6989586621679362347 :: f a) *>@#@$$$ (a6989586621679362348 :: f b) :: f b where ...
- data (<*@#@$) :: (~>) (f a) ((~>) (f b) (f a))
- data (<*@#@$$) (a6989586621679362352 :: f a) :: (~>) (f b) (f a)
- type family (a6989586621679362352 :: f a) <*@#@$$$ (a6989586621679362353 :: f b) :: f a where ...
- type family EmptySym0 :: f a where ...
- data (<|>@#@$) :: (~>) (f a) ((~>) (f a) (f a))
- data (<|>@#@$$) (a6989586621679362456 :: f a) :: (~>) (f a) (f a)
- type family (a6989586621679362456 :: f a) <|>@#@$$$ (a6989586621679362457 :: f a) :: f a where ...
- data ConstSym0 z
- type family ConstSym1 x where ...
- data GetConstSym0 :: (~>) (Const a b) a
- type family GetConstSym1 (a6989586621680716643 :: Const a b) :: a where ...
- data (<$>@#@$) :: (~>) ((~>) a b) ((~>) (f a) (f b))
- data (<$>@#@$$) (a6989586621679551399 :: (~>) a b) :: (~>) (f a) (f b)
- type family (a6989586621679551399 :: (~>) a b) <$>@#@$$$ (a6989586621679551400 :: f a) :: f b where ...
- data (<$@#@$) :: (~>) a ((~>) (f b) (f a))
- data (<$@#@$$) (a6989586621679362312 :: a) :: (~>) (f b) (f a)
- type family (a6989586621679362312 :: a) <$@#@$$$ (a6989586621679362313 :: f b) :: f a where ...
- data (<**>@#@$) :: (~>) (f a) ((~>) (f ((~>) a b)) (f b))
- data (<**>@#@$$) (a6989586621679362295 :: f a) :: (~>) (f ((~>) a b)) (f b)
- type family (a6989586621679362295 :: f a) <**>@#@$$$ (a6989586621679362296 :: f ((~>) a b)) :: f b where ...
- data LiftASym0 :: (~>) ((~>) a b) ((~>) (f a) (f b))
- data LiftASym1 (a6989586621679362284 :: (~>) a b) :: (~>) (f a) (f b)
- type family LiftASym2 (a6989586621679362284 :: (~>) a b) (a6989586621679362285 :: f a) :: f b where ...
- data LiftA2Sym0 :: (~>) ((~>) a ((~>) b c)) ((~>) (f a) ((~>) (f b) (f c)))
- data LiftA2Sym1 (a6989586621679362341 :: (~>) a ((~>) b c)) :: (~>) (f a) ((~>) (f b) (f c))
- data LiftA2Sym2 (a6989586621679362341 :: (~>) a ((~>) b c)) (a6989586621679362342 :: f a) :: (~>) (f b) (f c)
- type family LiftA2Sym3 (a6989586621679362341 :: (~>) a ((~>) b c)) (a6989586621679362342 :: f a) (a6989586621679362343 :: f b) :: f c where ...
- data LiftA3Sym0 :: (~>) ((~>) a ((~>) b ((~>) c d))) ((~>) (f a) ((~>) (f b) ((~>) (f c) (f d))))
- data LiftA3Sym1 (a6989586621679362273 :: (~>) a ((~>) b ((~>) c d))) :: (~>) (f a) ((~>) (f b) ((~>) (f c) (f d)))
- data LiftA3Sym2 (a6989586621679362273 :: (~>) a ((~>) b ((~>) c d))) (a6989586621679362274 :: f a) :: (~>) (f b) ((~>) (f c) (f d))
- data LiftA3Sym3 (a6989586621679362273 :: (~>) a ((~>) b ((~>) c d))) (a6989586621679362274 :: f a) (a6989586621679362275 :: f b) :: (~>) (f c) (f d)
- data OptionalSym0 :: (~>) (f a) (f (Maybe a))
- type family OptionalSym1 (a6989586621681095066 :: 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 (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_6989586621679362356Sym0 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_6989586621679362372Sym0 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_6989586621679362388Sym0 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 Source #
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
Generic1 (Const a :: k -> Type) | |
SingI1 ('Const :: k1 -> Const k1 b) Source # | |
Eq2 (Const :: Type -> Type -> Type) | Since: base-4.9.0.0 |
Ord2 (Const :: Type -> Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Functor.Classes | |
Read2 (Const :: Type -> Type -> Type) | Since: base-4.9.0.0 |
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) | Since: base-4.9.0.0 |
NFData2 (Const :: Type -> Type -> Type) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Hashable2 (Const :: Type -> Type -> Type) | |
Foldable (Const m :: Type -> Type) | Since: base-4.7.0.0 |
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) | Since: base-4.9.0.0 |
Ord a => Ord1 (Const a :: Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Functor.Classes | |
Read a => Read1 (Const a :: Type -> Type) | Since: base-4.9.0.0 |
Defined in Data.Functor.Classes | |
Show a => Show1 (Const a :: Type -> Type) | Since: base-4.9.0.0 |
Traversable (Const m :: Type -> Type) | Since: base-4.7.0.0 |
Monoid m => Applicative (Const m :: Type -> Type) | Since: base-2.0.1 |
Functor (Const m :: Type -> Type) | Since: base-2.1 |
NFData a => NFData1 (Const a :: Type -> Type) | Since: deepseq-1.4.3.0 |
Defined in Control.DeepSeq | |
Hashable a => Hashable1 (Const a :: Type -> Type) | |
Defined in Data.Hashable.Class | |
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 Source # | |
SingI (ConstSym0 :: TyFun a (Const a b) -> Type) Source # | |
SuppressUnusedWarnings (GetConstSym0 :: TyFun (Const a b) a -> Type) Source # | |
Defined in Data.Functor.Const.Singletons suppressUnusedWarnings :: () Source # | |
IsString a => IsString (Const a b) | Since: base-4.9.0.0 |
Defined in Data.String fromString :: String -> Const a b # | |
Storable a => Storable (Const a b) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const | |
Monoid a => Monoid (Const a b) | Since: base-4.9.0.0 |
Semigroup a => Semigroup (Const a b) | Since: base-4.9.0.0 |
Bits a => Bits (Const a b) | Since: base-4.9.0.0 |
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 # isSigned :: Const a b -> Bool # 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) | Since: base-4.9.0.0 |
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) | Since: base-4.9.0.0 |
Enum a => Enum (Const a b) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const succ :: Const a b -> Const a b # pred :: Const a b -> Const a b # fromEnum :: Const a b -> Int # enumFrom :: Const a b -> [Const a b] # enumFromThen :: Const a b -> Const a b -> [Const a b] # enumFromTo :: Const a b -> Const a b -> [Const a b] # enumFromThenTo :: Const a b -> Const a b -> Const a b -> [Const a b] # | |
Floating a => Floating (Const a b) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const exp :: Const a b -> Const a b # log :: Const a b -> Const a b # 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 # sin :: Const a b -> Const a b # cos :: Const a b -> Const a b # tan :: 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) | Since: base-4.9.0.0 |
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 # exponent :: Const a b -> Int # 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) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const range :: (Const a b, Const a b) -> [Const a b] # index :: (Const a b, Const a b) -> Const a b -> Int # unsafeIndex :: (Const a b, Const a b) -> Const a b -> Int # inRange :: (Const a b, Const a b) -> Const a b -> Bool # rangeSize :: (Const a b, Const a b) -> Int # unsafeRangeSize :: (Const a b, Const a b) -> Int # | |
Num a => Num (Const a b) | Since: base-4.9.0.0 |
Read a => Read (Const a b) | This instance would be equivalent to the derived instances of the
Since: base-4.8.0.0 |
Fractional a => Fractional (Const a b) | Since: base-4.9.0.0 |
Integral a => Integral (Const a b) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const | |
Real a => Real (Const a b) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const toRational :: Const a b -> Rational # | |
RealFrac a => RealFrac (Const a b) | Since: base-4.9.0.0 |
Show a => Show (Const a b) | This instance would be equivalent to the derived instances of the
Since: base-4.8.0.0 |
NFData a => NFData (Const a b) | Since: deepseq-1.4.0.0 |
Defined in Control.DeepSeq | |
Eq a => Eq (Const a b) | Since: base-4.9.0.0 |
Ord a => Ord (Const a b) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const | |
Hashable a => Hashable (Const a b) | |
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) Source # | |
Defined in Data.Functor.Const.Singletons | |
SDecide a => TestEquality (SConst :: Const a b -> Type) Source # | |
Defined in Data.Functor.Const.Singletons | |
SingI a2 => SingI ('Const a2 :: Const a1 b) Source # | |
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) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const | |
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) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const | |
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) (a6989586621680716643 :: 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 :: First b) Source # | |
Defined in Data.Monoid.Singletons | |
type (a1 :: k1) <$ (a2 :: Last b) Source # | |
Defined in Data.Monoid.Singletons | |
type (a1 :: k1) <$ (a2 :: Down b) Source # | |
Defined in Data.Functor.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 (a1 :: k1) <$ (a2 :: Max b) Source # | |
Defined in Data.Semigroup.Singletons | |
type (a1 :: k1) <$ (a2 :: Min b) Source # | |
Defined in Data.Semigroup.Singletons | |
type (a1 :: k1) <$ (a2 :: Dual b) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers | |
type (a1 :: k1) <$ (a2 :: Product b) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers | |
type (a1 :: k1) <$ (a2 :: Sum b) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers | |
type (a1 :: k1) <$ (a2 :: NonEmpty b) Source # | |
Defined in Control.Monad.Singletons.Internal | |
type (a1 :: k1) <$ (a2 :: Maybe 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 (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 :: Arg a1 b) Source # | |
Defined in Data.Semigroup.Singletons | |
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 :: Sum f g b) Source # | |
Defined in Data.Functor.Sum.Singletons | |
type (a1 :: k1) <$ (a2 :: Compose f g b) Source # | |
Defined in Data.Functor.Compose.Singletons |
(%<$) :: 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 # | |
SuppressUnusedWarnings (PureSym0 :: TyFun a (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply (PureSym0 :: TyFun a (f a) -> Type) (a6989586621679362331 :: 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 # | |
SuppressUnusedWarnings ((<*>@#@$) :: TyFun (f (a ~> b)) (f a ~> f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply ((<*>@#@$) :: TyFun (f (a ~> b)) (f a ~> f b) -> Type) (a6989586621679362335 :: f (a ~> b)) Source # | |
Defined in Control.Monad.Singletons.Internal |
data (<*>@#@$$) (a6989586621679362335 :: 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 | |
(SApplicative f, SingI d) => SingI ((<*>@#@$$) d :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing ((<*>@#@$$) d) Source # | |
SuppressUnusedWarnings ((<*>@#@$$) a6989586621679362335 :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply ((<*>@#@$$) a6989586621679362335 :: TyFun (f a) (f b) -> Type) (a6989586621679362336 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply ((<*>@#@$$) a6989586621679362335 :: TyFun (f a) (f b) -> Type) (a6989586621679362336 :: f a) = a6989586621679362335 <*> a6989586621679362336 |
type family (a6989586621679362335 :: f ((~>) a b)) <*>@#@$$$ (a6989586621679362336 :: 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 # | |
SuppressUnusedWarnings ((*>@#@$) :: TyFun (f a) (f b ~> f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply ((*>@#@$) :: TyFun (f a) (f b ~> f b) -> Type) (a6989586621679362347 :: f a) Source # | |
data (*>@#@$$) (a6989586621679362347 :: 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 # | |
SuppressUnusedWarnings ((*>@#@$$) a6989586621679362347 :: TyFun (f b) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply ((*>@#@$$) a6989586621679362347 :: TyFun (f b) (f b) -> Type) (a6989586621679362348 :: f b) Source # | |
type family (a6989586621679362347 :: f a) *>@#@$$$ (a6989586621679362348 :: 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 # | |
SuppressUnusedWarnings ((<*@#@$) :: TyFun (f a) (f b ~> f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply ((<*@#@$) :: TyFun (f a) (f b ~> f a) -> Type) (a6989586621679362352 :: f a) Source # | |
data (<*@#@$$) (a6989586621679362352 :: 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 # | |
SuppressUnusedWarnings ((<*@#@$$) a6989586621679362352 :: TyFun (f b) (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply ((<*@#@$$) a6989586621679362352 :: TyFun (f b) (f a) -> Type) (a6989586621679362353 :: f b) Source # | |
type family (a6989586621679362352 :: f a) <*@#@$$$ (a6989586621679362353 :: 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 # | |
SuppressUnusedWarnings ((<|>@#@$) :: TyFun (f a) (f a ~> f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply ((<|>@#@$) :: TyFun (f a) (f a ~> f a) -> Type) (a6989586621679362456 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal |
data (<|>@#@$$) (a6989586621679362456 :: 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 | |
(SAlternative f, SingI d) => SingI ((<|>@#@$$) d :: TyFun (f a) (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing ((<|>@#@$$) d) Source # | |
SuppressUnusedWarnings ((<|>@#@$$) a6989586621679362456 :: TyFun (f a) (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply ((<|>@#@$$) a6989586621679362456 :: TyFun (f a) (f a) -> Type) (a6989586621679362457 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply ((<|>@#@$$) a6989586621679362456 :: TyFun (f a) (f a) -> Type) (a6989586621679362457 :: f a) = a6989586621679362456 <|> a6989586621679362457 |
type family (a6989586621679362456 :: f a) <|>@#@$$$ (a6989586621679362457 :: 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 Source # | |
SuppressUnusedWarnings (GetConstSym0 :: TyFun (Const a b) a -> Type) Source # | |
Defined in Data.Functor.Const.Singletons suppressUnusedWarnings :: () Source # | |
type Apply (GetConstSym0 :: TyFun (Const a b) a -> Type) (a6989586621680716643 :: Const a b) Source # | |
Defined in Data.Functor.Const.Singletons |
type family GetConstSym1 (a6989586621680716643 :: Const a b) :: a where ... Source #
GetConstSym1 a6989586621680716643 = GetConst a6989586621680716643 |
data (<$>@#@$) :: (~>) ((~>) a b) ((~>) (f a) (f b)) infixl 4 Source #
Instances
SFunctor f => SingI ((<$>@#@$) :: TyFun (a ~> b) (f a ~> f b) -> Type) Source # | |
SuppressUnusedWarnings ((<$>@#@$) :: TyFun (a ~> b) (f a ~> f b) -> Type) Source # | |
Defined in Data.Functor.Singletons suppressUnusedWarnings :: () Source # | |
type Apply ((<$>@#@$) :: TyFun (a ~> b) (f a ~> f b) -> Type) (a6989586621679551399 :: a ~> b) Source # | |
data (<$>@#@$$) (a6989586621679551399 :: (~>) 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 | |
(SFunctor f, SingI d) => SingI ((<$>@#@$$) d :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Data.Functor.Singletons sing :: Sing ((<$>@#@$$) d) Source # | |
SuppressUnusedWarnings ((<$>@#@$$) a6989586621679551399 :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Data.Functor.Singletons suppressUnusedWarnings :: () Source # | |
type Apply ((<$>@#@$$) a6989586621679551399 :: TyFun (f a) (f b) -> Type) (a6989586621679551400 :: f a) Source # | |
Defined in Data.Functor.Singletons type Apply ((<$>@#@$$) a6989586621679551399 :: TyFun (f a) (f b) -> Type) (a6989586621679551400 :: f a) = a6989586621679551399 <$> a6989586621679551400 |
type family (a6989586621679551399 :: (~>) a b) <$>@#@$$$ (a6989586621679551400 :: 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 # | |
SuppressUnusedWarnings ((<$@#@$) :: TyFun a (f b ~> f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply ((<$@#@$) :: TyFun a (f b ~> f a) -> Type) (a6989586621679362312 :: a) Source # | |
data (<$@#@$$) (a6989586621679362312 :: 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 # | |
SuppressUnusedWarnings ((<$@#@$$) a6989586621679362312 :: TyFun (f b) (f a) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply ((<$@#@$$) a6989586621679362312 :: TyFun (f b) (f a) -> Type) (a6989586621679362313 :: f b) Source # | |
type family (a6989586621679362312 :: a) <$@#@$$$ (a6989586621679362313 :: 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 (<**>@#@$) Source # | |
SuppressUnusedWarnings ((<**>@#@$) :: TyFun (f a) (f (a ~> b) ~> f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply ((<**>@#@$) :: TyFun (f a) (f (a ~> b) ~> f b) -> Type) (a6989586621679362295 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply ((<**>@#@$) :: TyFun (f a) (f (a ~> b) ~> f b) -> Type) (a6989586621679362295 :: f a) = (<**>@#@$$) a6989586621679362295 :: TyFun (f (a ~> b)) (f b) -> Type |
data (<**>@#@$$) (a6989586621679362295 :: 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 | |
(SApplicative f, SingI d) => SingI ((<**>@#@$$) d :: TyFun (f (a ~> b)) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal sing :: Sing ((<**>@#@$$) d) Source # | |
SuppressUnusedWarnings ((<**>@#@$$) a6989586621679362295 :: TyFun (f (a ~> b)) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply ((<**>@#@$$) a6989586621679362295 :: TyFun (f (a ~> b)) (f b) -> Type) (a6989586621679362296 :: f (a ~> b)) Source # | |
Defined in Control.Monad.Singletons.Internal |
type family (a6989586621679362295 :: f a) <**>@#@$$$ (a6989586621679362296 :: f ((~>) a b)) :: f b where ... infixl 4 Source #
a6989586621679362295 <**>@#@$$$ a6989586621679362296 = (<**>) a6989586621679362295 a6989586621679362296 |
data LiftASym0 :: (~>) ((~>) a b) ((~>) (f a) (f b)) Source #
Instances
SApplicative f => SingI (LiftASym0 :: TyFun (a ~> b) (f a ~> f b) -> Type) Source # | |
SuppressUnusedWarnings (LiftASym0 :: TyFun (a ~> b) (f a ~> f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply (LiftASym0 :: TyFun (a ~> b) (f a ~> f b) -> Type) (a6989586621679362284 :: a ~> b) Source # | |
data LiftASym1 (a6989586621679362284 :: (~>) 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 # | |
SuppressUnusedWarnings (LiftASym1 a6989586621679362284 :: TyFun (f a) (f b) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply (LiftASym1 a6989586621679362284 :: TyFun (f a) (f b) -> Type) (a6989586621679362285 :: f a) Source # | |
type family LiftASym2 (a6989586621679362284 :: (~>) a b) (a6989586621679362285 :: 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 Source # | |
SuppressUnusedWarnings (LiftA2Sym0 :: TyFun (a ~> (b ~> c)) (f a ~> (f b ~> f c)) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply (LiftA2Sym0 :: TyFun (a ~> (b ~> c)) (f a ~> (f b ~> f c)) -> Type) (a6989586621679362341 :: a ~> (b ~> c)) Source # | |
Defined in Control.Monad.Singletons.Internal |
data LiftA2Sym1 (a6989586621679362341 :: (~>) 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 | |
(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) Source # | |
SuppressUnusedWarnings (LiftA2Sym1 a6989586621679362341 :: TyFun (f a) (f b ~> f c) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply (LiftA2Sym1 a6989586621679362341 :: TyFun (f a) (f b ~> f c) -> Type) (a6989586621679362342 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply (LiftA2Sym1 a6989586621679362341 :: TyFun (f a) (f b ~> f c) -> Type) (a6989586621679362342 :: f a) = LiftA2Sym2 a6989586621679362341 a6989586621679362342 |
data LiftA2Sym2 (a6989586621679362341 :: (~>) a ((~>) b c)) (a6989586621679362342 :: 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 | |
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) Source # | |
SuppressUnusedWarnings (LiftA2Sym2 a6989586621679362341 a6989586621679362342 :: TyFun (f b) (f c) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply (LiftA2Sym2 a6989586621679362341 a6989586621679362342 :: TyFun (f b) (f c) -> Type) (a6989586621679362343 :: f b) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply (LiftA2Sym2 a6989586621679362341 a6989586621679362342 :: TyFun (f b) (f c) -> Type) (a6989586621679362343 :: f b) = LiftA2 a6989586621679362341 a6989586621679362342 a6989586621679362343 |
type family LiftA2Sym3 (a6989586621679362341 :: (~>) a ((~>) b c)) (a6989586621679362342 :: f a) (a6989586621679362343 :: f b) :: f c where ... Source #
LiftA2Sym3 a6989586621679362341 a6989586621679362342 a6989586621679362343 = LiftA2 a6989586621679362341 a6989586621679362342 a6989586621679362343 |
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 Source # | |
SuppressUnusedWarnings (LiftA3Sym0 :: TyFun (a ~> (b ~> (c ~> d))) (f a ~> (f b ~> (f c ~> f d))) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply (LiftA3Sym0 :: TyFun (a ~> (b ~> (c ~> d))) (f a ~> (f b ~> (f c ~> f d))) -> Type) (a6989586621679362273 :: a ~> (b ~> (c ~> d))) Source # | |
data LiftA3Sym1 (a6989586621679362273 :: (~>) 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 | |
(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) Source # | |
SuppressUnusedWarnings (LiftA3Sym1 a6989586621679362273 :: TyFun (f a) (f b ~> (f c ~> f d)) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply (LiftA3Sym1 a6989586621679362273 :: TyFun (f a) (f b ~> (f c ~> f d)) -> Type) (a6989586621679362274 :: f a) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply (LiftA3Sym1 a6989586621679362273 :: TyFun (f a) (f b ~> (f c ~> f d)) -> Type) (a6989586621679362274 :: f a) = LiftA3Sym2 a6989586621679362273 a6989586621679362274 |
data LiftA3Sym2 (a6989586621679362273 :: (~>) a ((~>) b ((~>) c d))) (a6989586621679362274 :: 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 | |
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) Source # | |
SuppressUnusedWarnings (LiftA3Sym2 a6989586621679362273 a6989586621679362274 :: TyFun (f b) (f c ~> f d) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply (LiftA3Sym2 a6989586621679362273 a6989586621679362274 :: TyFun (f b) (f c ~> f d) -> Type) (a6989586621679362275 :: f b) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply (LiftA3Sym2 a6989586621679362273 a6989586621679362274 :: TyFun (f b) (f c ~> f d) -> Type) (a6989586621679362275 :: f b) = LiftA3Sym3 a6989586621679362273 a6989586621679362274 a6989586621679362275 |
data LiftA3Sym3 (a6989586621679362273 :: (~>) a ((~>) b ((~>) c d))) (a6989586621679362274 :: f a) (a6989586621679362275 :: 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 | |
(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) Source # | |
SuppressUnusedWarnings (LiftA3Sym3 a6989586621679362273 a6989586621679362274 a6989586621679362275 :: TyFun (f c) (f d) -> Type) Source # | |
Defined in Control.Monad.Singletons.Internal suppressUnusedWarnings :: () Source # | |
type Apply (LiftA3Sym3 a6989586621679362273 a6989586621679362274 a6989586621679362275 :: TyFun (f c) (f d) -> Type) (a6989586621679362276 :: f c) Source # | |
Defined in Control.Monad.Singletons.Internal type Apply (LiftA3Sym3 a6989586621679362273 a6989586621679362274 a6989586621679362275 :: TyFun (f c) (f d) -> Type) (a6989586621679362276 :: f c) = LiftA3 a6989586621679362273 a6989586621679362274 a6989586621679362275 a6989586621679362276 |
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 Source # | |
SuppressUnusedWarnings (OptionalSym0 :: TyFun (f a) (f (Maybe a)) -> Type) Source # | |
Defined in Control.Applicative.Singletons suppressUnusedWarnings :: () Source # | |
type Apply (OptionalSym0 :: TyFun (f a) (f (Maybe a)) -> Type) (a6989586621681095066 :: f a) Source # | |
Defined in Control.Applicative.Singletons |
type family OptionalSym1 (a6989586621681095066 :: f a) :: f (Maybe a) where ... Source #
OptionalSym1 a6989586621681095066 = Optional a6989586621681095066 |
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 # |