singletons-2.6: A framework for generating singleton types

Copyright | (C) 2018 Ryan Scott
License | BSD-style (see LICENSE)
Maintainer | Ryan Scott
Stability | experimental
Portability | non-portable
Safe Haskell | None
Language | Haskell2010

Data.Singletons.Prelude.Applicative

Contents

- Defunctionalization symbols
- Orphan instances

Description

Defines the promoted and singled versions of the `Applicative` type class.

Synopsis

- class PApplicative (f :: Type -> Type) where
  - type Pure (arg :: a) :: f a
  - type (arg :: f ((~>) a b)) <*> (arg :: f a) :: f b
  - type LiftA2 (arg :: (~>) a ((~>) b c)) (arg :: f a) (arg :: f b) :: f c
  - type (arg :: f a) *> (arg :: f b) :: f b
  - type (arg :: f a) <* (arg :: f b) :: f a
- class SFunctor f => SApplicative (f :: Type -> Type) where
  - sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t :: f a)
  - (%<*>) :: forall a b (t :: f ((~>) a b)) (t :: f a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t :: f b)
  - sLiftA2 :: forall a b c (t :: (~>) a ((~>) b c)) (t :: f a) (t :: f b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t :: f c)
  - (%*>) :: forall a b (t :: f a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t :: f b)
  - (%<*) :: forall a b (t :: f a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t :: f a)
- class PAlternative (f :: Type -> Type) where
  - type Empty :: f a
  - type (arg :: f a) <|> (arg :: f a) :: f a
- class SApplicative f => SAlternative (f :: Type -> Type) where
  - sEmpty :: forall a. Sing (EmptySym0 :: f a)
  - (%<|>) :: forall a (t :: f a) (t :: f a). Sing t -> Sing t -> Sing (Apply (Apply (<|>@#@$) t) t :: f a)
- type family Sing :: k -> Type
- data SConst :: forall (k :: Type) (a :: Type) (b :: k). Const a b -> Type where
  - SConst :: {..} -> SConst ('Const a)
- data Const a (b :: k)
- type family GetConst (x :: Const a b) :: a where ...
- type family (a :: (~>) a b) <$> (a :: f a) :: f b where ...
- (%<$>) :: forall a b f (t :: (~>) a b) (t :: f a). SFunctor f => Sing t -> Sing t -> Sing (Apply (Apply (<$>@#@$) t) t :: f b)
- type family (arg :: a) <$ (arg :: f b) :: f a
- (%<$) :: forall a b (t :: a) (t :: f b). SFunctor f => Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t :: f a)
- type family (a :: f a) <**> (a :: f ((~>) a b)) :: f b where ...
- (%<**>) :: forall f a b (t :: f a) (t :: f ((~>) a b)). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply (<**>@#@$) t) t :: f b)
- type family LiftA (a :: (~>) a b) (a :: f a) :: f b where ...
- sLiftA :: forall a b f (t :: (~>) a b) (t :: f a). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply LiftASym0 t) t :: f b)
- type family LiftA3 (a :: (~>) a ((~>) b ((~>) c d))) (a :: f a) (a :: f b) (a :: f c) :: f d where ...
- sLiftA3 :: forall a b c d f (t :: (~>) a ((~>) b ((~>) c d))) (t :: f a) (t :: f b) (t :: f c). SApplicative f => Sing t -> Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (Apply LiftA3Sym0 t) t) t) t :: f d)
- type family Optional (a :: f a) :: f (Maybe a) where ...
- sOptional :: forall f a (t :: f a). SAlternative f => Sing t -> Sing (Apply OptionalSym0 t :: f (Maybe a))
- data PureSym0 :: forall a6989586621679566951 f6989586621679566950. (~>) a6989586621679566951 (f6989586621679566950 a6989586621679566951)
- type PureSym1 (arg6989586621679567361 :: a6989586621679566951) = Pure arg6989586621679567361
- data (<*>@#@$) :: forall f6989586621679566950 a6989586621679566952 b6989586621679566953. (~>) (f6989586621679566950 ((~>) a6989586621679566952 b6989586621679566953)) ((~>) (f6989586621679566950 a6989586621679566952) (f6989586621679566950 b6989586621679566953))
- data (<*>@#@$$) (arg6989586621679567363 :: f6989586621679566950 ((~>) a6989586621679566952 b6989586621679566953)) :: (~>) (f6989586621679566950 a6989586621679566952) (f6989586621679566950 b6989586621679566953)
- type (<*>@#@$$$) (arg6989586621679567363 :: f6989586621679566950 ((~>) a6989586621679566952 b6989586621679566953)) (arg6989586621679567364 :: f6989586621679566950 a6989586621679566952) = (<*>) arg6989586621679567363 arg6989586621679567364
- data (*>@#@$) :: forall f6989586621679566950 a6989586621679566957 b6989586621679566958. (~>) (f6989586621679566950 a6989586621679566957) ((~>) (f6989586621679566950 b6989586621679566958) (f6989586621679566950 b6989586621679566958))
- data (*>@#@$$) (arg6989586621679567373 :: f6989586621679566950 a6989586621679566957) :: forall b6989586621679566958. (~>) (f6989586621679566950 b6989586621679566958) (f6989586621679566950 b6989586621679566958)
- type (*>@#@$$$) (arg6989586621679567373 :: f6989586621679566950 a6989586621679566957) (arg6989586621679567374 :: f6989586621679566950 b6989586621679566958) = (*>) arg6989586621679567373 arg6989586621679567374
- data (<*@#@$) :: forall f6989586621679566950 a6989586621679566959 b6989586621679566960. (~>) (f6989586621679566950 a6989586621679566959) ((~>) (f6989586621679566950 b6989586621679566960) (f6989586621679566950 a6989586621679566959))
- data (<*@#@$$) (arg6989586621679567377 :: f6989586621679566950 a6989586621679566959) :: forall b6989586621679566960. (~>) (f6989586621679566950 b6989586621679566960) (f6989586621679566950 a6989586621679566959)
- type (<*@#@$$$) (arg6989586621679567377 :: f6989586621679566950 a6989586621679566959) (arg6989586621679567378 :: f6989586621679566950 b6989586621679566960) = (<*) arg6989586621679567377 arg6989586621679567378
- type EmptySym0 = Empty
- data (<|>@#@$) :: forall f6989586621679567025 a6989586621679567027. (~>) (f6989586621679567025 a6989586621679567027) ((~>) (f6989586621679567025 a6989586621679567027) (f6989586621679567025 a6989586621679567027))
- data (<|>@#@$$) (arg6989586621679567485 :: f6989586621679567025 a6989586621679567027) :: (~>) (f6989586621679567025 a6989586621679567027) (f6989586621679567025 a6989586621679567027)
- type (<|>@#@$$$) (arg6989586621679567485 :: f6989586621679567025 a6989586621679567027) (arg6989586621679567486 :: f6989586621679567025 a6989586621679567027) = (<|>) arg6989586621679567485 arg6989586621679567486
- data ConstSym0 :: forall (a6989586621679090105 :: Type) k6989586621679090104 (b6989586621679090106 :: k6989586621679090104). (~>) a6989586621679090105 (Const (a6989586621679090105 :: Type) (b6989586621679090106 :: k6989586621679090104))
- type ConstSym1 (t6989586621680754547 :: a6989586621679090105) = 'Const t6989586621680754547
- data GetConstSym0 :: forall a6989586621680754815 b6989586621680754816. (~>) (Const a6989586621680754815 b6989586621680754816) a6989586621680754815
- type GetConstSym1 (x6989586621680754817 :: Const a6989586621680754815 b6989586621680754816) = GetConst x6989586621680754817
- data (<$>@#@$) :: forall a6989586621679737122 b6989586621679737123 f6989586621679737121. (~>) ((~>) a6989586621679737122 b6989586621679737123) ((~>) (f6989586621679737121 a6989586621679737122) (f6989586621679737121 b6989586621679737123))
- data (<$>@#@$$) (a6989586621679737203 :: (~>) a6989586621679737122 b6989586621679737123) :: forall f6989586621679737121. (~>) (f6989586621679737121 a6989586621679737122) (f6989586621679737121 b6989586621679737123)
- type (<$>@#@$$$) (a6989586621679737203 :: (~>) a6989586621679737122 b6989586621679737123) (a6989586621679737204 :: f6989586621679737121 a6989586621679737122) = (<$>) a6989586621679737203 a6989586621679737204
- data (<$@#@$) :: forall a6989586621679566948 f6989586621679566945 b6989586621679566949. (~>) a6989586621679566948 ((~>) (f6989586621679566945 b6989586621679566949) (f6989586621679566945 a6989586621679566948))
- data (<$@#@$$) (arg6989586621679567341 :: a6989586621679566948) :: forall f6989586621679566945 b6989586621679566949. (~>) (f6989586621679566945 b6989586621679566949) (f6989586621679566945 a6989586621679566948)
- type (<$@#@$$$) (arg6989586621679567341 :: a6989586621679566948) (arg6989586621679567342 :: f6989586621679566945 b6989586621679566949) = (<$) arg6989586621679567341 arg6989586621679567342
- data (<**>@#@$) :: forall f6989586621679566910 a6989586621679566911 b6989586621679566912. (~>) (f6989586621679566910 a6989586621679566911) ((~>) (f6989586621679566910 ((~>) a6989586621679566911 b6989586621679566912)) (f6989586621679566910 b6989586621679566912))
- data (<**>@#@$$) (a6989586621679567321 :: f6989586621679566910 a6989586621679566911) :: forall b6989586621679566912. (~>) (f6989586621679566910 ((~>) a6989586621679566911 b6989586621679566912)) (f6989586621679566910 b6989586621679566912)
- type (<**>@#@$$$) (a6989586621679567321 :: f6989586621679566910 a6989586621679566911) (a6989586621679567322 :: f6989586621679566910 ((~>) a6989586621679566911 b6989586621679566912)) = (<**>) a6989586621679567321 a6989586621679567322
- data LiftASym0 :: forall a6989586621679566908 b6989586621679566909 f6989586621679566907. (~>) ((~>) a6989586621679566908 b6989586621679566909) ((~>) (f6989586621679566907 a6989586621679566908) (f6989586621679566907 b6989586621679566909))
- data LiftASym1 (a6989586621679567311 :: (~>) a6989586621679566908 b6989586621679566909) :: forall f6989586621679566907. (~>) (f6989586621679566907 a6989586621679566908) (f6989586621679566907 b6989586621679566909)
- type LiftASym2 (a6989586621679567311 :: (~>) a6989586621679566908 b6989586621679566909) (a6989586621679567312 :: f6989586621679566907 a6989586621679566908) = LiftA a6989586621679567311 a6989586621679567312
- data LiftA2Sym0 :: forall a6989586621679566954 b6989586621679566955 c6989586621679566956 f6989586621679566950. (~>) ((~>) a6989586621679566954 ((~>) b6989586621679566955 c6989586621679566956)) ((~>) (f6989586621679566950 a6989586621679566954) ((~>) (f6989586621679566950 b6989586621679566955) (f6989586621679566950 c6989586621679566956)))
- data LiftA2Sym1 (arg6989586621679567367 :: (~>) a6989586621679566954 ((~>) b6989586621679566955 c6989586621679566956)) :: forall f6989586621679566950. (~>) (f6989586621679566950 a6989586621679566954) ((~>) (f6989586621679566950 b6989586621679566955) (f6989586621679566950 c6989586621679566956))
- data LiftA2Sym2 (arg6989586621679567367 :: (~>) a6989586621679566954 ((~>) b6989586621679566955 c6989586621679566956)) (arg6989586621679567368 :: f6989586621679566950 a6989586621679566954) :: (~>) (f6989586621679566950 b6989586621679566955) (f6989586621679566950 c6989586621679566956)
- type LiftA2Sym3 (arg6989586621679567367 :: (~>) a6989586621679566954 ((~>) b6989586621679566955 c6989586621679566956)) (arg6989586621679567368 :: f6989586621679566950 a6989586621679566954) (arg6989586621679567369 :: f6989586621679566950 b6989586621679566955) = LiftA2 arg6989586621679567367 arg6989586621679567368 arg6989586621679567369
- data LiftA3Sym0 :: forall a6989586621679566903 b6989586621679566904 c6989586621679566905 d6989586621679566906 f6989586621679566902. (~>) ((~>) a6989586621679566903 ((~>) b6989586621679566904 ((~>) c6989586621679566905 d6989586621679566906))) ((~>) (f6989586621679566902 a6989586621679566903) ((~>) (f6989586621679566902 b6989586621679566904) ((~>) (f6989586621679566902 c6989586621679566905) (f6989586621679566902 d6989586621679566906))))
- data LiftA3Sym1 (a6989586621679567299 :: (~>) a6989586621679566903 ((~>) b6989586621679566904 ((~>) c6989586621679566905 d6989586621679566906))) :: forall f6989586621679566902. (~>) (f6989586621679566902 a6989586621679566903) ((~>) (f6989586621679566902 b6989586621679566904) ((~>) (f6989586621679566902 c6989586621679566905) (f6989586621679566902 d6989586621679566906)))
- data LiftA3Sym2 (a6989586621679567299 :: (~>) a6989586621679566903 ((~>) b6989586621679566904 ((~>) c6989586621679566905 d6989586621679566906))) (a6989586621679567300 :: f6989586621679566902 a6989586621679566903) :: (~>) (f6989586621679566902 b6989586621679566904) ((~>) (f6989586621679566902 c6989586621679566905) (f6989586621679566902 d6989586621679566906))
- data LiftA3Sym3 (a6989586621679567299 :: (~>) a6989586621679566903 ((~>) b6989586621679566904 ((~>) c6989586621679566905 d6989586621679566906))) (a6989586621679567300 :: f6989586621679566902 a6989586621679566903) (a6989586621679567301 :: f6989586621679566902 b6989586621679566904) :: (~>) (f6989586621679566902 c6989586621679566905) (f6989586621679566902 d6989586621679566906)
- data OptionalSym0 :: forall f6989586621681262005 a6989586621681262006. (~>) (f6989586621681262005 a6989586621681262006) (f6989586621681262005 (Maybe a6989586621681262006))
- type OptionalSym1 (a6989586621681262043 :: f6989586621681262005 a6989586621681262006) = Optional a6989586621681262043

# Documentation

class PApplicative (f :: Type -> Type) Source #

Associated Types

type Pure (arg :: a) :: f a Source #

type (arg :: f ((~>) a b)) <*> (arg :: f a) :: f b infixl 4 Source #

type (<*>) a a = Apply (Apply TFHelper_6989586621679567383Sym0 a) a Source #

type LiftA2 (arg :: (~>) a ((~>) b c)) (arg :: f a) (arg :: f b) :: f c Source #

type LiftA2 a a a = Apply (Apply (Apply LiftA2_6989586621679567400Sym0 a) a) a Source #

type (arg :: f a) *> (arg :: f b) :: f b infixl 4 Source #

type (*>) a a = Apply (Apply TFHelper_6989586621679567418Sym0 a) a Source #

type (arg :: f a) <* (arg :: f b) :: f a infixl 4 Source #

type (<*) a a = Apply (Apply TFHelper_6989586621679567430Sym0 a) a Source #

#### Instances

Instances details

PApplicative [] Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #
PApplicative Maybe Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #
PApplicative NonEmpty Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #
PApplicative Down Source # |
Instance details Defined in Data.Singletons.Prelude.Applicative Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #
PApplicative Identity Source # |
Instance details Defined in Data.Singletons.Prelude.Identity Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #
PApplicative First Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #
PApplicative Last Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #
PApplicative Max Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #
PApplicative Min Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #
PApplicative Option Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #
PApplicative Dual Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #
PApplicative Product Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #
PApplicative Sum Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #
PApplicative First Source # |
Instance details Defined in Data.Singletons.Prelude.Monoid Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #
PApplicative Last Source # |
Instance details Defined in Data.Singletons.Prelude.Monoid Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #
PApplicative (Either e) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #
PApplicative ((,) a) Source # |
Instance details Defined in Data.Singletons.Prelude.Applicative Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #
PApplicative (Const m :: Type -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #

class SFunctor f => SApplicative (f :: Type -> Type) where Source #

Minimal complete definition

sPure

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t :: f a) Source #

(%<*>) :: forall a b (t :: f ((~>) a b)) (t :: f a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t :: f b) infixl 4 Source #

default (%<*>) :: forall a b (t :: f ((~>) a b)) (t :: f a). (Apply (Apply (<*>@#@$) t) t :: f b) ~ Apply (Apply TFHelper_6989586621679567383Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t :: f b) Source #

sLiftA2 :: forall a b c (t :: (~>) a ((~>) b c)) (t :: f a) (t :: f b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t :: f c) Source #

default sLiftA2 :: forall a b c (t :: (~>) a ((~>) b c)) (t :: f a) (t :: f b). (Apply (Apply (Apply LiftA2Sym0 t) t) t :: f c) ~ Apply (Apply (Apply LiftA2_6989586621679567400Sym0 t) t) t => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t :: f c) Source #

(%*>) :: forall a b (t :: f a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t :: f b) infixl 4 Source #

default (%*>) :: forall a b (t :: f a) (t :: f b). (Apply (Apply (*>@#@$) t) t :: f b) ~ Apply (Apply TFHelper_6989586621679567418Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t :: f b) Source #

(%<*) :: forall a b (t :: f a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t :: f a) infixl 4 Source #

default (%<*) :: forall a b (t :: f a) (t :: f b). (Apply (Apply (<*@#@$) t) t :: f a) ~ Apply (Apply TFHelper_6989586621679567430Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t :: f a) Source #

#### Instances

Instances details

SApplicative [] Source # |

Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a b (t :: [a ~> b]) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: [a]) (t :: [b]). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a b (t :: [a]) (t :: [b]). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a b (t :: [a]) (t :: [b]). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

SApplicative Maybe Source # |

Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a b (t :: Maybe (a ~> b)) (t :: Maybe a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Maybe a) (t :: Maybe b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a b (t :: Maybe a) (t :: Maybe b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a b (t :: Maybe a) (t :: Maybe b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

SApplicative NonEmpty Source # |

Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a b (t :: NonEmpty (a ~> b)) (t :: NonEmpty a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: NonEmpty a) (t :: NonEmpty b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a b (t :: NonEmpty a) (t :: NonEmpty b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a b (t :: NonEmpty a) (t :: NonEmpty b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

SApplicative Down Source # |

Instance details

Defined in Data.Singletons.Prelude.Applicative

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a b (t :: Down (a ~> b)) (t :: Down a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Down a) (t :: Down b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a b (t :: Down a) (t :: Down b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a b (t :: Down a) (t :: Down b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

SApplicative Identity Source # |

Instance details

Defined in Data.Singletons.Prelude.Identity

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a b (t :: Identity (a ~> b)) (t :: Identity a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Identity a) (t :: Identity b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a b (t :: Identity a) (t :: Identity b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a b (t :: Identity a) (t :: Identity b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

SApplicative First Source # |

Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a b (t :: First (a ~> b)) (t :: First a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: First a) (t :: First b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a b (t :: First a) (t :: First b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a b (t :: First a) (t :: First b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

SApplicative Last Source # |

Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a b (t :: Last (a ~> b)) (t :: Last a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Last a) (t :: Last b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a b (t :: Last a) (t :: Last b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a b (t :: Last a) (t :: Last b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

SApplicative Max Source # |

Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a b (t :: Max (a ~> b)) (t :: Max a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Max a) (t :: Max b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a b (t :: Max a) (t :: Max b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a b (t :: Max a) (t :: Max b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

SApplicative Min Source # |

Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a b (t :: Min (a ~> b)) (t :: Min a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Min a) (t :: Min b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a b (t :: Min a) (t :: Min b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a b (t :: Min a) (t :: Min b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

SApplicative Option Source # |

Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a b (t :: Option (a ~> b)) (t :: Option a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Option a) (t :: Option b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a b (t :: Option a) (t :: Option b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a b (t :: Option a) (t :: Option b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

SApplicative Dual Source # |

Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a b (t :: Dual (a ~> b)) (t :: Dual a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Dual a) (t :: Dual b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a b (t :: Dual a) (t :: Dual b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a b (t :: Dual a) (t :: Dual b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

SApplicative Product Source # |

Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a b (t :: Product (a ~> b)) (t :: Product a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Product a) (t :: Product b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a b (t :: Product a) (t :: Product b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a b (t :: Product a) (t :: Product b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

SApplicative Sum Source # |

Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a b (t :: Sum (a ~> b)) (t :: Sum a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Sum a) (t :: Sum b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a b (t :: Sum a) (t :: Sum b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a b (t :: Sum a) (t :: Sum b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

SApplicative First Source # |

Instance details

Defined in Data.Singletons.Prelude.Monoid

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a b (t :: First (a ~> b)) (t :: First a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: First a) (t :: First b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a b (t :: First a) (t :: First b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a b (t :: First a) (t :: First b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

SApplicative Last Source # |

Instance details

Defined in Data.Singletons.Prelude.Monoid

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a b (t :: Last (a ~> b)) (t :: Last a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Last a) (t :: Last b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a b (t :: Last a) (t :: Last b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a b (t :: Last a) (t :: Last b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

SApplicative (Either e) Source # |

Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a b (t :: Either e (a ~> b)) (t :: Either e a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Either e a) (t :: Either e b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a b (t :: Either e a) (t :: Either e b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a b (t :: Either e a) (t :: Either e b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

SMonoid a => SApplicative ((,) a) Source # |

Instance details

Defined in Data.Singletons.Prelude.Applicative

Methods

sPure :: forall a0 (t :: a0). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a0 b (t :: (a, a0 ~> b)) (t :: (a, a0)). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a0 b c (t :: a0 ~> (b ~> c)) (t :: (a, a0)) (t :: (a, b)). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a0 b (t :: (a, a0)) (t :: (a, b)). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a0 b (t :: (a, a0)) (t :: (a, b)). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

SMonoid m => SApplicative (Const m :: Type -> Type) Source # |

Instance details

Defined in Data.Singletons.Prelude.Const

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a b (t :: Const m (a ~> b)) (t :: Const m a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Const m a) (t :: Const m b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a b (t :: Const m a) (t :: Const m b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a b (t :: Const m a) (t :: Const m b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

class PAlternative (f :: Type -> Type) Source #

Associated Types

type Empty :: f a Source #

type (arg :: f a) <|> (arg :: f a) :: f a infixl 3 Source #

#### Instances

Instances details

PAlternative [] Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Associated Types type Empty :: f a Source # type arg <|> arg :: f a Source #
PAlternative Maybe Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Associated Types type Empty :: f a Source # type arg <|> arg :: f a Source #
PAlternative Option Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup Associated Types type Empty :: f a Source # type arg <|> arg :: f a Source #

class SApplicative f => SAlternative (f :: Type -> Type) where Source #

Methods

sEmpty :: forall a. Sing (EmptySym0 :: f a) Source #

(%<|>) :: forall a (t :: f a) (t :: f a). Sing t -> Sing t -> Sing (Apply (Apply (<|>@#@$) t) t :: f a) infixl 3 Source #

#### Instances

Instances details

SAlternative [] Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sEmpty :: Sing EmptySym0 Source # (%<|>) :: forall a (t :: [a]) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply (<|>@#@$) t) t) Source #
SAlternative Maybe Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sEmpty :: Sing EmptySym0 Source # (%<|>) :: forall a (t :: Maybe a) (t :: Maybe a). Sing t -> Sing t -> Sing (Apply (Apply (<|>@#@$) t) t) Source #
SAlternative Option Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup Methods sEmpty :: Sing EmptySym0 Source # (%<|>) :: forall a (t :: Option a) (t :: Option a). Sing t -> Sing t -> Sing (Apply (Apply (<|>@#@$) t) t) Source #

type family Sing :: k -> Type Source #

The singleton kind-indexed type family.

#### Instances

Instances details

type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Instances type Sing = SBool
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Instances type Sing = SOrdering
type Sing Source # |
Instance details Defined in Data.Singletons.TypeLits.Internal type Sing = SNat
type Sing Source # |
Instance details Defined in Data.Singletons.TypeLits.Internal type Sing = SSymbol
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Instances type Sing = STuple0
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Instances type Sing = SVoid
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal type Sing = SAll
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal type Sing = SAny
type Sing Source # |
Instance details Defined in Data.Singletons.TypeError type Sing = SErrorMessage
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Instances type Sing = SList :: [a] -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Instances type Sing = SMaybe :: Maybe a -> Type

type Sing Source #

A choice of singleton for the kind ``TYPE` rep` (for some `RuntimeRep` `rep`), an instantiation of which is the famous kind `Type`.

Conceivably, one could generalize this instance to `Sing @k` for any kind `k`, and remove all other `Sing` instances. We don't adopt this design, however, since it is far more convenient in practice to work with explicit singleton values than `TypeRep`s (for instance, `TypeRep`s are more difficult to pattern match on, and require extra runtime checks).

We cannot produce explicit singleton values for everything in ``TYPE` rep`, however, since it is an open kind, so we reach for `TypeRep` in this one particular case.

Instance details Defined in Data.Singletons.TypeRepTYPE type Sing = TypeRep :: TYPE rep -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Instances type Sing = SNonEmpty :: NonEmpty a -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Ord type Sing = SDown :: Down a -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Instances type Sing = SIdentity :: Identity a -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal type Sing = SFirst :: First a -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal type Sing = SLast :: Last a -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal type Sing = SMax :: Max a -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal type Sing = SMin :: Min a -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal type Sing = SOption :: Option a -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal type Sing = SWrappedMonoid :: WrappedMonoid m -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal type Sing = SDual :: Dual a -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal type Sing = SProduct :: Product a -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal type Sing = SSum :: Sum a -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Monoid type Sing = SFirst :: First a -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Monoid type Sing = SLast :: Last a -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Instances type Sing = SEither :: Either a b -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Instances type Sing = STuple2 :: (a, b) -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Internal type Sing = SLambda :: (k1 ~> k2) -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Internal type Sing = SWrappedSing :: WrappedSing a -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup type Sing = SArg :: Arg a b -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Sigma type Sing = SSigma :: Sigma s t -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Instances type Sing = STuple3 :: (a, b, c) -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Sing = SConst :: Const a b -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Instances type Sing = STuple4 :: (a, b, c, d) -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Instances type Sing = STuple5 :: (a, b, c, d, e) -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Instances type Sing = STuple6 :: (a, b, c, d, e, f) -> Type
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Instances type Sing = STuple7 :: (a, b, c, d, e, f, g) -> Type

data SConst :: forall (k :: Type) (a :: Type) (b :: k). Const a b -> Type where Source #

Constructors

SConst |

Fields

- :: { sGetConst :: Sing a
- } -> SConst ('Const a)

#### Instances

Instances details

SDecide a => TestCoercion (SConst :: Const a b -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Methods testCoercion :: forall (a0 :: k) (b0 :: k). SConst a0 -> SConst b0 -> Maybe (Coercion a0 b0)
SDecide a => TestEquality (SConst :: Const a b -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Methods testEquality :: forall (a0 :: k) (b0 :: k). SConst a0 -> SConst b0 -> Maybe (a0 :~: b0)

data Const a (b :: k) #

#### Instances

Instances details

Generic1 (Const a :: k -> Type) |
Instance details Defined in Data.Functor.Const Associated Types type Rep1 (Const a) :: k -> Type Methods from1 :: forall (a0 :: k0). Const a a0 -> Rep1 (Const a) a0 to1 :: forall (a0 :: k0). Rep1 (Const a) a0 -> Const a a0
Unbox a => Vector Vector (Const a b) |

Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (Const a b) -> m (Vector (Const a b))

basicUnsafeThaw :: PrimMonad m => Vector (Const a b) -> m (Mutable Vector (PrimState m) (Const a b))

basicLength :: Vector (Const a b) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Const a b) -> Vector (Const a b)

basicUnsafeIndexM :: Monad m => Vector (Const a b) -> Int -> m (Const a b)

basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (Const a b) -> Vector (Const a b) -> m ()

elemseq :: Vector (Const a b) -> Const a b -> b0 -> b0

Unbox a => MVector MVector (Const a b) |

Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (Const a b) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Const a b) -> MVector s (Const a b)

basicOverlaps :: MVector s (Const a b) -> MVector s (Const a b) -> Bool

basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) (Const a b))

basicInitialize :: PrimMonad m => MVector (PrimState m) (Const a b) -> m ()

basicUnsafeReplicate :: PrimMonad m => Int -> Const a b -> m (MVector (PrimState m) (Const a b))

basicUnsafeRead :: PrimMonad m => MVector (PrimState m) (Const a b) -> Int -> m (Const a b)

basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) (Const a b) -> Int -> Const a b -> m ()

basicClear :: PrimMonad m => MVector (PrimState m) (Const a b) -> m ()

basicSet :: PrimMonad m => MVector (PrimState m) (Const a b) -> Const a b -> m ()

basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) (Const a b) -> MVector (PrimState m) (Const a b) -> m ()

basicUnsafeMove :: PrimMonad m => MVector (PrimState m) (Const a b) -> MVector (PrimState m) (Const a b) -> m ()

basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) (Const a b) -> Int -> m (MVector (PrimState m) (Const a b))

Bifunctor (Const :: Type -> Type -> Type) |
Instance details Defined in Data.Bifunctor Methods bimap :: (a -> b) -> (c -> d) -> Const a c -> Const b d first :: (a -> b) -> Const a c -> Const b c second :: (b -> c) -> Const a b -> Const a c
Eq2 (Const :: Type -> Type -> Type) |
Instance details Defined in Data.Functor.Classes Methods liftEq2 :: (a -> b -> Bool) -> (c -> d -> Bool) -> Const a c -> Const b d -> Bool
Ord2 (Const :: Type -> Type -> Type) |
Instance details Defined in Data.Functor.Classes Methods liftCompare2 :: (a -> b -> Ordering) -> (c -> d -> Ordering) -> Const a c -> Const b d -> Ordering
Show2 (Const :: Type -> Type -> Type) |
Instance details Defined in Data.Functor.Classes Methods 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
Read2 (Const :: Type -> Type -> Type) |

Instance details

Defined in Data.Functor.Classes

Methods

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]

Functor (Const m :: Type -> Type) |
Instance details Defined in Data.Functor.Const Methods fmap :: (a -> b) -> Const m a -> Const m b (<$) :: a -> Const m b -> Const m a
Monoid m => Applicative (Const m :: Type -> Type) |
Instance details Defined in Data.Functor.Const Methods pure :: a -> Const m a (<*>) :: Const m (a -> b) -> Const m a -> Const m b liftA2 :: (a -> b -> c) -> Const m a -> Const m b -> Const m c (*>) :: Const m a -> Const m b -> Const m b (<*) :: Const m a -> Const m b -> Const m a
Foldable (Const m :: Type -> Type) |

Instance details

Defined in Data.Functor.Const

Methods

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

toList :: Const m a -> [a]

null :: Const m a -> Bool

length :: Const m a -> Int

elem :: Eq a => a -> Const m a -> Bool

maximum :: Ord a => Const m a -> a

minimum :: Ord a => Const m a -> a

sum :: Num a => Const m a -> a

product :: Num a => Const m a -> a

Traversable (Const m :: Type -> Type) |
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> Const m a -> f (Const m b) sequenceA :: Applicative f => Const m (f a) -> f (Const m a) mapM :: Monad m0 => (a -> m0 b) -> Const m a -> m0 (Const m b) sequence :: Monad m0 => Const m (m0 a) -> m0 (Const m a)
Eq a => Eq1 (Const a :: Type -> Type) |
Instance details Defined in Data.Functor.Classes Methods liftEq :: (a0 -> b -> Bool) -> Const a a0 -> Const a b -> Bool
Ord a => Ord1 (Const a :: Type -> Type) |
Instance details Defined in Data.Functor.Classes Methods liftCompare :: (a0 -> b -> Ordering) -> Const a a0 -> Const a b -> Ordering
Read a => Read1 (Const a :: Type -> Type) |
Instance details Defined in Data.Functor.Classes Methods 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) |
Instance details Defined in Data.Functor.Classes Methods liftShowsPrec :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> Int -> Const a a0 -> ShowS liftShowList :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> [Const a a0] -> ShowS
SMonoid m => SApplicative (Const m :: Type -> Type) Source # |

Instance details

Defined in Data.Singletons.Prelude.Const

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a b (t :: Const m (a ~> b)) (t :: Const m a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Const m a) (t :: Const m b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a b (t :: Const m a) (t :: Const m b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a b (t :: Const m a) (t :: Const m b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

SFunctor (Const m :: Type -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Methods sFmap :: forall a b (t :: a ~> b) (t :: Const m a). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source # (%<$) :: forall a b (t :: a) (t :: Const m b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #
PApplicative (Const m :: Type -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #
PFunctor (Const m :: Type -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Associated Types type Fmap arg arg :: f b Source # type arg <$ arg :: f a Source #
SFoldable (Const m :: Type -> Type) Source # |

Instance details

Defined in Data.Singletons.Prelude.Const

Methods

sFold :: forall m0 (t :: Const m m0). SMonoid m0 => Sing t -> Sing (Apply FoldSym0 t) Source #

sFoldMap :: forall a m0 (t :: a ~> m0) (t :: Const m a). SMonoid m0 => Sing t -> Sing t -> Sing (Apply (Apply FoldMapSym0 t) t) Source #

sFoldr :: forall a b (t :: a ~> (b ~> b)) (t :: b) (t :: Const m a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t) Source #

sFoldr' :: forall a b (t :: a ~> (b ~> b)) (t :: b) (t :: Const m a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldr'Sym0 t) t) t) Source #

sFoldl :: forall b a (t :: b ~> (a ~> b)) (t :: b) (t :: Const m a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t) Source #

sFoldl' :: forall b a (t :: b ~> (a ~> b)) (t :: b) (t :: Const m a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldl'Sym0 t) t) t) Source #

sFoldr1 :: forall a (t :: a ~> (a ~> a)) (t :: Const m a). Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t) Source #

sFoldl1 :: forall a (t :: a ~> (a ~> a)) (t :: Const m a). Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t) Source #

sToList :: forall a (t :: Const m a). Sing t -> Sing (Apply ToListSym0 t) Source #

sNull :: forall a (t :: Const m a). Sing t -> Sing (Apply NullSym0 t) Source #

sLength :: forall a (t :: Const m a). Sing t -> Sing (Apply LengthSym0 t) Source #

sElem :: forall a (t :: a) (t :: Const m a). SEq a => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t) Source #

sMaximum :: forall a (t :: Const m a). SOrd a => Sing t -> Sing (Apply MaximumSym0 t) Source #

sMinimum :: forall a (t :: Const m a). SOrd a => Sing t -> Sing (Apply MinimumSym0 t) Source #

sSum :: forall a (t :: Const m a). SNum a => Sing t -> Sing (Apply SumSym0 t) Source #

sProduct :: forall a (t :: Const m a). SNum a => Sing t -> Sing (Apply ProductSym0 t) Source #

PFoldable (Const m :: Type -> Type) Source # |

Instance details

Defined in Data.Singletons.Prelude.Const

Associated Types

type Fold arg :: m Source #

type FoldMap arg arg :: m Source #

type Foldr arg arg arg :: b Source #

type Foldr' arg arg arg :: b Source #

type Foldl arg arg arg :: b Source #

type Foldl' arg arg arg :: b Source #

type Foldr1 arg arg :: a Source #

type Foldl1 arg arg :: a Source #

type ToList arg :: [a] Source #

type Null arg :: Bool Source #

type Length arg :: Nat Source #

type Elem arg arg :: Bool Source #

type Maximum arg :: a Source #

type Minimum arg :: a Source #

type Sum arg :: a Source #

type Product arg :: a Source #

STraversable (Const m :: Type -> Type) Source # |

Instance details

Defined in Data.Singletons.Prelude.Traversable

Methods

sTraverse :: forall a (f :: Type -> Type) b (t :: a ~> f b) (t :: Const m a). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply TraverseSym0 t) t) Source #

sSequenceA :: forall (f :: Type -> Type) a (t :: Const m (f a)). SApplicative f => Sing t -> Sing (Apply SequenceASym0 t) Source #

sMapM :: forall a (m0 :: Type -> Type) b (t :: a ~> m0 b) (t :: Const m a). SMonad m0 => Sing t -> Sing t -> Sing (Apply (Apply MapMSym0 t) t) Source #

sSequence :: forall (m0 :: Type -> Type) a (t :: Const m (m0 a)). SMonad m0 => Sing t -> Sing (Apply SequenceSym0 t) Source #

PTraversable (Const m :: Type -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Traversable Associated Types type Traverse arg arg :: f (t b) Source # type SequenceA arg :: f (t a) Source # type MapM arg arg :: m (t b) Source # type Sequence arg :: m (t a) Source #
SingI (ConstSym0 :: TyFun a6989586621679090105 (Const a6989586621679090105 b6989586621679090106) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Methods sing :: Sing ConstSym0 Source #
SuppressUnusedWarnings (ConstSym0 :: TyFun a6989586621679090105 (Const a6989586621679090105 b6989586621679090106) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Methods suppressUnusedWarnings :: () Source #
SuppressUnusedWarnings (GetConstSym0 :: TyFun (Const a6989586621680754815 b6989586621680754816) a6989586621680754815 -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Methods suppressUnusedWarnings :: () Source #
Bounded a => Bounded (Const a b) |
Instance details Defined in Data.Functor.Const Methods minBound :: Const a b maxBound :: Const a b
Enum a => Enum (Const a b) |
Instance details Defined in Data.Functor.Const Methods succ :: Const a b -> Const a b pred :: Const a b -> Const a b toEnum :: Int -> 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]
Eq a => Eq (Const a b) |
Instance details Defined in Data.Functor.Const Methods (==) :: Const a b -> Const a b -> Bool (/=) :: Const a b -> Const a b -> Bool
Floating a => Floating (Const a b) |

Instance details

Defined in Data.Functor.Const

Methods

pi :: Const a b

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

log1pexp :: Const a b -> Const a b

log1mexp :: Const a b -> Const a b

Fractional a => Fractional (Const a b) |
Instance details Defined in Data.Functor.Const Methods (/) :: Const a b -> Const a b -> Const a b recip :: Const a b -> Const a b fromRational :: Rational -> Const a b
Integral a => Integral (Const a b) |
Instance details Defined in Data.Functor.Const Methods quot :: Const a b -> Const a b -> Const a b rem :: Const a b -> Const a b -> Const a b div :: Const a b -> Const a b -> Const a b mod :: Const a b -> Const a b -> Const a b quotRem :: Const a b -> Const a b -> (Const a b, Const a b) divMod :: Const a b -> Const a b -> (Const a b, Const a b) toInteger :: Const a b -> Integer
(Typeable k, Data a, Typeable b) => Data (Const a b) |

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> Const a b -> c (Const a b)

gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Const a b)

toConstr :: Const a b -> Constr

dataTypeOf :: Const a b -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Const a b))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Const a b))

gmapT :: (forall b0. Data b0 => b0 -> b0) -> Const a b -> Const a b

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Const a b -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Const a b -> r

gmapQ :: (forall d. Data d => d -> u) -> Const a b -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Const a b -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Const a b -> m (Const a b)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Const a b -> m (Const a b)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Const a b -> m (Const a b)

Num a => Num (Const a b) |
Instance details Defined in Data.Functor.Const Methods (+) :: Const a b -> Const a b -> Const a b (-) :: Const a b -> Const a b -> Const a b (*) :: Const a b -> Const a b -> Const a b negate :: Const a b -> Const a b abs :: Const a b -> Const a b signum :: Const a b -> Const a b fromInteger :: Integer -> Const a b
Ord a => Ord (Const a b) |
Instance details Defined in Data.Functor.Const Methods compare :: Const a b -> Const a b -> Ordering (<) :: Const a b -> Const a b -> Bool (<=) :: Const a b -> Const a b -> Bool (>) :: Const a b -> Const a b -> Bool (>=) :: Const a b -> Const a b -> Bool max :: Const a b -> Const a b -> Const a b min :: Const a b -> Const a b -> Const a b
Read a => Read (Const a b) |
Instance details Defined in Data.Functor.Const Methods readsPrec :: Int -> ReadS (Const a b) readList :: ReadS [Const a b] readPrec :: ReadPrec (Const a b) readListPrec :: ReadPrec [Const a b]
Real a => Real (Const a b) |
Instance details Defined in Data.Functor.Const Methods toRational :: Const a b -> Rational
RealFloat a => RealFloat (Const a b) |

Instance details

Defined in Data.Functor.Const

Methods

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

isNaN :: Const a b -> Bool

isInfinite :: Const a b -> Bool

isDenormalized :: Const a b -> Bool

isNegativeZero :: Const a b -> Bool

isIEEE :: Const a b -> Bool

atan2 :: Const a b -> Const a b -> Const a b

RealFrac a => RealFrac (Const a b) |
Instance details Defined in Data.Functor.Const Methods properFraction :: Integral b0 => Const a b -> (b0, Const a b) truncate :: Integral b0 => Const a b -> b0 round :: Integral b0 => Const a b -> b0 ceiling :: Integral b0 => Const a b -> b0 floor :: Integral b0 => Const a b -> b0
Show a => Show (Const a b) |
Instance details Defined in Data.Functor.Const Methods showsPrec :: Int -> Const a b -> ShowS show :: Const a b -> String showList :: [Const a b] -> ShowS
Ix a => Ix (Const a b) |
Instance details Defined in Data.Functor.Const Methods 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
IsString a => IsString (Const a b) |
Instance details Defined in Data.String Methods fromString :: String -> Const a b
Generic (Const a b) |
Instance details Defined in Data.Functor.Const Associated Types type Rep (Const a b) :: Type -> Type Methods from :: Const a b -> Rep (Const a b) x to :: Rep (Const a b) x -> Const a b
Semigroup a => Semigroup (Const a b) |
Instance details Defined in Data.Functor.Const Methods (<>) :: Const a b -> Const a b -> Const a b sconcat :: NonEmpty (Const a b) -> Const a b stimes :: Integral b0 => b0 -> Const a b -> Const a b
Monoid a => Monoid (Const a b) |
Instance details Defined in Data.Functor.Const Methods mempty :: Const a b mappend :: Const a b -> Const a b -> Const a b mconcat :: [Const a b] -> Const a b
SingKind a => SingKind (Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Associated Types type Demote (Const a b) = (r :: Type) Source # Methods fromSing :: forall (a0 :: Const a b). Sing a0 -> Demote (Const a b) Source # toSing :: Demote (Const a b) -> SomeSing (Const a b) Source #
SDecide a => SDecide (Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Methods (%~) :: forall (a0 :: Const a b) (b0 :: Const a b). Sing a0 -> Sing b0 -> Decision (a0 :~: b0) Source #
Unbox a => Unbox (Const a b) |
Instance details Defined in Data.Vector.Unboxed.Base
Storable a => Storable (Const a b) |

Instance details

Defined in Data.Functor.Const

Methods

sizeOf :: Const a b -> Int

alignment :: Const a b -> Int

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 ()

peek :: Ptr (Const a b) -> IO (Const a b)

poke :: Ptr (Const a b) -> Const a b -> IO ()

Prim a => Prim (Const a b) |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Const a b -> Int#

alignment# :: Const a b -> Int#

indexByteArray# :: ByteArray# -> Int# -> Const a b

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Const a b #)

writeByteArray# :: MutableByteArray# s -> Int# -> Const a b -> State# s -> State# s

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Const a b -> State# s -> State# s

indexOffAddr# :: Addr# -> Int# -> Const a b

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Const a b #)

writeOffAddr# :: Addr# -> Int# -> Const a b -> State# s -> State# s

setOffAddr# :: Addr# -> Int# -> Int# -> Const a b -> State# s -> State# s

Bits a => Bits (Const a b) |

Instance details

Defined in Data.Functor.Const

Methods

(.&.) :: 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

zeroBits :: Const a b

bit :: 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

bitSize :: Const a b -> 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

rotateR :: Const a b -> Int -> Const a b

popCount :: Const a b -> Int

FiniteBits a => FiniteBits (Const a b) |
Instance details Defined in Data.Functor.Const Methods finiteBitSize :: Const a b -> Int countLeadingZeros :: Const a b -> Int countTrailingZeros :: Const a b -> Int
PEq (Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Associated Types type x == y :: Bool Source # type x /= y :: Bool Source #
SEq a => SEq (Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Methods (%==) :: forall (a0 :: Const a b) (b0 :: Const a b). Sing a0 -> Sing b0 -> Sing (a0 == b0) Source # (%/=) :: forall (a0 :: Const a b) (b0 :: Const a b). Sing a0 -> Sing b0 -> Sing (a0 /= b0) Source #
SOrd a => SOrd (Const a b) Source # |

Instance details

Defined in Data.Singletons.Prelude.Const

Methods

sCompare :: forall (t :: Const a b) (t :: Const a b). Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: forall (t :: Const a b) (t :: Const a b). Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: forall (t :: Const a b) (t :: Const a b). Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: forall (t :: Const a b) (t :: Const a b). Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: forall (t :: Const a b) (t :: Const a b). Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: forall (t :: Const a b) (t :: Const a b). Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: forall (t :: Const a b) (t :: Const a b). Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

POrd (Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Associated Types type Compare arg arg :: Ordering Source # type arg < arg :: Bool Source # type arg <= arg :: Bool Source # type arg > arg :: Bool Source # type arg >= arg :: Bool Source # type Max arg arg :: a Source # type Min arg arg :: a Source #
SNum a => SNum (Const a b) Source # |

Instance details

Defined in Data.Singletons.Prelude.Const

Methods

(%+) :: forall (t :: Const a b) (t :: Const a b). Sing t -> Sing t -> Sing (Apply (Apply (+@#@$) t) t) Source #

(%-) :: forall (t :: Const a b) (t :: Const a b). Sing t -> Sing t -> Sing (Apply (Apply (-@#@$) t) t) Source #

(%*) :: forall (t :: Const a b) (t :: Const a b). Sing t -> Sing t -> Sing (Apply (Apply (*@#@$) t) t) 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 :: Nat). Sing t -> Sing (Apply FromIntegerSym0 t) Source #

PNum (Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Associated Types type arg + arg :: a Source # type arg - arg :: a Source # type arg * arg :: a Source # type Negate arg :: a Source # type Abs arg :: a Source # type Signum arg :: a Source # type FromInteger arg :: a Source #
SBounded a => SBounded (Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Methods sMinBound :: Sing MinBoundSym0 Source # sMaxBound :: Sing MaxBoundSym0 Source #
PBounded (Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Associated Types type MinBound :: a Source # type MaxBound :: a Source #
SEnum a => SEnum (Const a b) Source # |

Instance details

Defined in Data.Singletons.Prelude.Const

Methods

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 :: Nat). Sing t -> Sing (Apply ToEnumSym0 t) Source #

sFromEnum :: forall (t :: Const a b). Sing t -> Sing (Apply FromEnumSym0 t) Source #

sEnumFromTo :: forall (t :: Const a b) (t :: Const a b). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source #

sEnumFromThenTo :: forall (t :: Const a b) (t :: Const a b) (t :: Const a b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source #

PEnum (Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Associated Types type Succ arg :: a Source # type Pred arg :: a Source # type ToEnum arg :: a Source # type FromEnum arg :: Nat Source # type EnumFromTo arg arg :: [a] Source # type EnumFromThenTo arg arg arg :: [a] Source #
SSemigroup a => SSemigroup (Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Methods (%<>) :: forall (t :: Const a b) (t :: Const a b). Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) Source # sSconcat :: forall (t :: NonEmpty (Const a b)). Sing t -> Sing (Apply SconcatSym0 t) Source #
PSemigroup (Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Associated Types type arg <> arg :: a Source # type Sconcat arg :: a Source #
SShow a => SShow (Const a b) Source # |

Instance details

Defined in Data.Singletons.Prelude.Const

Methods

sShowsPrec :: forall (t :: Nat) (t :: Const a b) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) Source #

sShow_ :: forall (t :: Const a b). Sing t -> Sing (Apply Show_Sym0 t) Source #

sShowList :: forall (t :: [Const a b]) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) Source #

PShow (Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Associated Types type ShowsPrec arg arg arg :: Symbol Source # type Show_ arg :: Symbol Source # type ShowList arg arg :: Symbol Source #
SMonoid a => SMonoid (Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Methods sMempty :: Sing MemptySym0 Source # sMappend :: forall (t :: Const a b) (t :: Const a b). Sing t -> Sing t -> Sing (Apply (Apply MappendSym0 t) t) Source # sMconcat :: forall (t :: [Const a b]). Sing t -> Sing (Apply MconcatSym0 t) Source #
PMonoid (Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Associated Types type Mempty :: a Source # type Mappend arg arg :: a Source # type Mconcat arg :: a Source #
SIsString a => SIsString (Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.IsString Methods sFromString :: forall (t :: Symbol). Sing t -> Sing (Apply FromStringSym0 t) Source #
PIsString (Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.IsString Associated Types type FromString arg :: a Source #
SDecide a => TestCoercion (SConst :: Const a b -> Type) |
Instance details Defined in Data.Singletons.Prelude.Const Methods testCoercion :: forall (a0 :: k) (b0 :: k). SConst a0 -> SConst b0 -> Maybe (Coercion a0 b0)
SDecide a => TestEquality (SConst :: Const a b -> Type) |
Instance details Defined in Data.Singletons.Prelude.Const Methods testEquality :: forall (a0 :: k) (b0 :: k). SConst a0 -> SConst b0 -> Maybe (a0 :~: b0)
SingI a2 => SingI ('Const a2 :: Const a1 b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Methods sing :: Sing ('Const a2) Source #
type Traverse (a1 :: a6989586621680794821 ~> f6989586621680794820 b6989586621680794822) (a2 :: Const m a6989586621680794821) Source # |
Instance details Defined in Data.Singletons.Prelude.Traversable type Traverse (a1 :: a6989586621680794821 ~> f6989586621680794820 b6989586621680794822) (a2 :: Const m a6989586621680794821)
type MapM (arg1 :: a0 ~> m0 b0) (arg2 :: Const m a0) Source # |
Instance details Defined in Data.Singletons.Prelude.Traversable type MapM (arg1 :: a0 ~> m0 b0) (arg2 :: Const m a0)
type LiftA2 (a1 :: a6989586621679566954 ~> (b6989586621679566955 ~> c6989586621679566956)) (a2 :: Const m a6989586621679566954) (a3 :: Const m b6989586621679566955) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type LiftA2 (a1 :: a6989586621679566954 ~> (b6989586621679566955 ~> c6989586621679566956)) (a2 :: Const m a6989586621679566954) (a3 :: Const m b6989586621679566955)
type Fmap (a1 :: a6989586621679566946 ~> b6989586621679566947) (a2 :: Const m a6989586621679566946) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Fmap (a1 :: a6989586621679566946 ~> b6989586621679566947) (a2 :: Const m a6989586621679566946)
type FoldMap (a1 :: a6989586621680486631 ~> k2) (a2 :: Const m a6989586621680486631) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type FoldMap (a1 :: a6989586621680486631 ~> k2) (a2 :: Const m a6989586621680486631)
type Foldr (a1 :: a6989586621680486632 ~> (k2 ~> k2)) (a2 :: k2) (a3 :: Const m a6989586621680486632) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Foldr (a1 :: a6989586621680486632 ~> (k2 ~> k2)) (a2 :: k2) (a3 :: Const m a6989586621680486632)
type Foldr' (arg1 :: a0 ~> (b0 ~> b0)) (arg2 :: b0) (arg3 :: Const m a0) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Foldr' (arg1 :: a0 ~> (b0 ~> b0)) (arg2 :: b0) (arg3 :: Const m a0)
type Foldl (arg1 :: b0 ~> (a0 ~> b0)) (arg2 :: b0) (arg3 :: Const m a0) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Foldl (arg1 :: b0 ~> (a0 ~> b0)) (arg2 :: b0) (arg3 :: Const m a0)
type Foldl' (arg1 :: b0 ~> (a0 ~> b0)) (arg2 :: b0) (arg3 :: Const m a0) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Foldl' (arg1 :: b0 ~> (a0 ~> b0)) (arg2 :: b0) (arg3 :: Const m a0)
type Rep1 (Const a :: k -> Type) |
Instance details 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 # |
Instance details Defined in Data.Singletons.Prelude.Const type Pure (a :: k1)
type Foldr1 (arg1 :: a0 ~> (a0 ~> a0)) (arg2 :: Const m a0) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Foldr1 (arg1 :: a0 ~> (a0 ~> a0)) (arg2 :: Const m a0)
type Foldl1 (arg1 :: a0 ~> (a0 ~> a0)) (arg2 :: Const m a0) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Foldl1 (arg1 :: a0 ~> (a0 ~> a0)) (arg2 :: Const m a0)
type Elem (arg1 :: a0) (arg2 :: Const m a0) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Elem (arg1 :: a0) (arg2 :: Const m a0)
type (a1 :: k1) <$ (a2 :: Const m b6989586621679566949) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type (a1 :: k1) <$ (a2 :: Const m b6989586621679566949)
newtype MVector s (Const a b) |
Instance details Defined in Data.Vector.Unboxed.Base newtype MVector s (Const a b) = MV_Const (MVector s a)
type Apply (ConstSym0 :: TyFun a (Const a b6989586621679090106) -> Type) (t6989586621680754547 :: a) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Apply (ConstSym0 :: TyFun a (Const a b6989586621679090106) -> Type) (t6989586621680754547 :: a) = 'Const t6989586621680754547 :: Const a b6989586621679090106
type Fold (arg0 :: Const m m0) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Fold (arg0 :: Const m m0)
type ToList (arg0 :: Const m a0) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type ToList (arg0 :: Const m a0)
type Null (arg0 :: Const m a0) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Null (arg0 :: Const m a0)
type Length (arg0 :: Const m a0) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Length (arg0 :: Const m a0)
type Maximum (arg0 :: Const m a0) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Maximum (arg0 :: Const m a0)
type Minimum (arg0 :: Const m a0) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Minimum (arg0 :: Const m a0)
type Sum (arg0 :: Const m a0) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Sum (arg0 :: Const m a0)
type Product (arg0 :: Const m a0) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Product (arg0 :: Const m a0)
type SequenceA (arg0 :: Const m (f0 a0)) Source # |
Instance details Defined in Data.Singletons.Prelude.Traversable type SequenceA (arg0 :: Const m (f0 a0))
type Sequence (arg0 :: Const m (m0 a0)) Source # |
Instance details Defined in Data.Singletons.Prelude.Traversable type Sequence (arg0 :: Const m (m0 a0))
type (a1 :: Const m (a6989586621679566952 ~> b6989586621679566953)) <*> (a2 :: Const m a6989586621679566952) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type (a1 :: Const m (a6989586621679566952 ~> b6989586621679566953)) <*> (a2 :: Const m a6989586621679566952)
type (arg1 :: Const m a0) *> (arg2 :: Const m b0) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type (arg1 :: Const m a0) *> (arg2 :: Const m b0)
type (arg1 :: Const m a0) <* (arg2 :: Const m b0) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type (arg1 :: Const m a0) <* (arg2 :: Const m b0)
type Rep (Const a b) |
Instance details 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 # |
Instance details Defined in Data.Singletons.Prelude.Const type Demote (Const a b) = Const (Demote a) b
type Sing Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Sing = SConst :: Const a b -> Type
newtype Vector (Const a b) |
Instance details Defined in Data.Vector.Unboxed.Base newtype Vector (Const a b) = V_Const (Vector a)
type MinBound Source # |
Instance details Defined in Data.Singletons.Prelude.Const type MinBound
type MaxBound Source # |
Instance details Defined in Data.Singletons.Prelude.Const type MaxBound
type Mempty Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Mempty
type Negate (a2 :: Const a1 b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Negate (a2 :: Const a1 b)
type Abs (a2 :: Const a1 b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Abs (a2 :: Const a1 b)
type Signum (a2 :: Const a1 b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Signum (a2 :: Const a1 b)
type FromInteger a2 Source # |
Instance details Defined in Data.Singletons.Prelude.Const type FromInteger a2
type Succ (a2 :: Const a1 b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Succ (a2 :: Const a1 b)
type Pred (a2 :: Const a1 b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Pred (a2 :: Const a1 b)
type ToEnum a2 Source # |
Instance details Defined in Data.Singletons.Prelude.Const type ToEnum a2
type FromEnum (a2 :: Const a1 b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type FromEnum (a2 :: Const a1 b)
type Sconcat (arg0 :: NonEmpty (Const a b)) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Sconcat (arg0 :: NonEmpty (Const a b))
type Show_ (arg0 :: Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Show_ (arg0 :: Const a b)
type Mconcat (arg0 :: [Const a b]) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Mconcat (arg0 :: [Const a b])
type FromString a2 Source # |
Instance details Defined in Data.Singletons.Prelude.IsString type FromString a2
type (a2 :: Const a1 b1) == (b2 :: Const a1 b1) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type (a2 :: Const a1 b1) == (b2 :: Const a1 b1)
type (x :: Const a b) /= (y :: Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type (x :: Const a b) /= (y :: Const a b) = Not (x == y)
type Compare (a2 :: Const a1 b) (a3 :: Const a1 b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Compare (a2 :: Const a1 b) (a3 :: Const a1 b)
type (arg1 :: Const a b) < (arg2 :: Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type (arg1 :: Const a b) < (arg2 :: Const a b)
type (arg1 :: Const a b) <= (arg2 :: Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type (arg1 :: Const a b) <= (arg2 :: Const a b)
type (arg1 :: Const a b) > (arg2 :: Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type (arg1 :: Const a b) > (arg2 :: Const a b)
type (arg1 :: Const a b) >= (arg2 :: Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type (arg1 :: Const a b) >= (arg2 :: Const a b)
type Max (arg1 :: Const a b) (arg2 :: Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Max (arg1 :: Const a b) (arg2 :: Const a b)
type Min (arg1 :: Const a b) (arg2 :: Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Min (arg1 :: Const a b) (arg2 :: Const a b)
type (a2 :: Const a1 b) + (a3 :: Const a1 b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type (a2 :: Const a1 b) + (a3 :: Const a1 b)
type (a2 :: Const a1 b) - (a3 :: Const a1 b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type (a2 :: Const a1 b) - (a3 :: Const a1 b)
type (a2 :: Const a1 b) * (a3 :: Const a1 b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type (a2 :: Const a1 b) * (a3 :: Const a1 b)
type EnumFromTo (a2 :: Const a1 b) (a3 :: Const a1 b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type EnumFromTo (a2 :: Const a1 b) (a3 :: Const a1 b)
type (a2 :: Const a1 b) <> (a3 :: Const a1 b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type (a2 :: Const a1 b) <> (a3 :: Const a1 b)
type ShowList (arg1 :: [Const a b]) arg2 Source # |
Instance details Defined in Data.Singletons.Prelude.Const type ShowList (arg1 :: [Const a b]) arg2
type Mappend (arg1 :: Const a b) (arg2 :: Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Mappend (arg1 :: Const a b) (arg2 :: Const a b)
type EnumFromThenTo (a2 :: Const a1 b) (a3 :: Const a1 b) (a4 :: Const a1 b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type EnumFromThenTo (a2 :: Const a1 b) (a3 :: Const a1 b) (a4 :: Const a1 b)
type ShowsPrec a2 (a3 :: Const a1 b) a4 Source # |
Instance details Defined in Data.Singletons.Prelude.Const type ShowsPrec a2 (a3 :: Const a1 b) a4
type Apply (GetConstSym0 :: TyFun (Const a b) a -> Type) (x6989586621680754817 :: Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Apply (GetConstSym0 :: TyFun (Const a b) a -> Type) (x6989586621680754817 :: Const a b) = GetConst x6989586621680754817

type family GetConst (x :: Const a b) :: a where ... Source #

Equations

GetConst ('Const x) = x |

type family (a :: (~>) a b) <$> (a :: f a) :: f b where ... infixl 4 Source #

Equations

a_6989586621679737199 <$> a_6989586621679737201 = Apply (Apply FmapSym0 a_6989586621679737199) a_6989586621679737201 |

(%<$>) :: forall a b f (t :: (~>) a b) (t :: f a). SFunctor f => Sing t -> Sing t -> Sing (Apply (Apply (<$>@#@$) t) t :: f b) infixl 4 Source #

type family (arg :: a) <$ (arg :: f b) :: f a infixl 4 Source #

#### Instances

Instances details

type (a1 :: k1) <$ (a2 :: Maybe b6989586621679566949) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal type (a1 :: k1) <$ (a2 :: Maybe b6989586621679566949)
type (a1 :: k1) <$ (a2 :: NonEmpty b6989586621679566949) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal type (a1 :: k1) <$ (a2 :: NonEmpty b6989586621679566949)
type (a1 :: k1) <$ (a2 :: [b6989586621679566949]) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal type (a1 :: k1) <$ (a2 :: [b6989586621679566949])
type (a1 :: k1) <$ (a2 :: Down b6989586621679566949) Source # |
Instance details Defined in Data.Singletons.Prelude.Functor type (a1 :: k1) <$ (a2 :: Down b6989586621679566949)
type (a1 :: k1) <$ (a2 :: Dual b6989586621679566949) Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal type (a1 :: k1) <$ (a2 :: Dual b6989586621679566949)
type (a1 :: k1) <$ (a2 :: Sum b6989586621679566949) Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal type (a1 :: k1) <$ (a2 :: Sum b6989586621679566949)
type (a1 :: k1) <$ (a2 :: Product b6989586621679566949) Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal type (a1 :: k1) <$ (a2 :: Product b6989586621679566949)
type (a1 :: k1) <$ (a2 :: First b6989586621679566949) Source # |
Instance details Defined in Data.Singletons.Prelude.Monoid type (a1 :: k1) <$ (a2 :: First b6989586621679566949)
type (a1 :: k1) <$ (a2 :: Last b6989586621679566949) Source # |
Instance details Defined in Data.Singletons.Prelude.Monoid type (a1 :: k1) <$ (a2 :: Last b6989586621679566949)
type (a1 :: k1) <$ (a2 :: Identity b6989586621679566949) Source # |
Instance details Defined in Data.Singletons.Prelude.Identity type (a1 :: k1) <$ (a2 :: Identity b6989586621679566949)
type (a1 :: k1) <$ (a2 :: Min b6989586621679566949) Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup type (a1 :: k1) <$ (a2 :: Min b6989586621679566949)
type (a1 :: k1) <$ (a2 :: Max b6989586621679566949) Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup type (a1 :: k1) <$ (a2 :: Max b6989586621679566949)
type (a1 :: k1) <$ (a2 :: First b6989586621679566949) Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup type (a1 :: k1) <$ (a2 :: First b6989586621679566949)
type (a1 :: k1) <$ (a2 :: Last b6989586621679566949) Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup type (a1 :: k1) <$ (a2 :: Last b6989586621679566949)
type (a1 :: k1) <$ (a2 :: Option b6989586621679566949) Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup type (a1 :: k1) <$ (a2 :: Option b6989586621679566949)
type (a2 :: k1) <$ (a3 :: Either a1 b6989586621679566949) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal type (a2 :: k1) <$ (a3 :: Either a1 b6989586621679566949)
type (a2 :: k1) <$ (a3 :: (a1, b6989586621679566949)) Source # |
Instance details Defined in Data.Singletons.Prelude.Functor type (a2 :: k1) <$ (a3 :: (a1, b6989586621679566949))
type (a2 :: k1) <$ (a3 :: Arg a1 b6989586621679566949) Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup type (a2 :: k1) <$ (a3 :: Arg a1 b6989586621679566949)
type (a1 :: k1) <$ (a2 :: Const m b6989586621679566949) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type (a1 :: k1) <$ (a2 :: Const m b6989586621679566949)

(%<$) :: forall a b (t :: a) (t :: f b). SFunctor f => Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t :: f a) infixl 4 Source #

type family (a :: f a) <**> (a :: f ((~>) a b)) :: f b where ... infixl 4 Source #

Equations

a_6989586621679567317 <**> a_6989586621679567319 = Apply (Apply (Apply LiftA2Sym0 (Apply (Apply Lambda_6989586621679567327Sym0 a_6989586621679567317) a_6989586621679567319)) a_6989586621679567317) a_6989586621679567319 |

(%<**>) :: forall f a b (t :: f a) (t :: f ((~>) a b)). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply (<**>@#@$) t) t :: f b) infixl 4 Source #

type family LiftA (a :: (~>) a b) (a :: f a) :: f b where ... Source #

Equations

LiftA f a = Apply (Apply (<*>@#@$) (Apply PureSym0 f)) a |

sLiftA :: forall a b f (t :: (~>) a b) (t :: f a). SApplicative f => Sing t -> Sing t -> Sing (Apply (Apply LiftASym0 t) t :: f b) Source #

type family LiftA3 (a :: (~>) a ((~>) b ((~>) c d))) (a :: f a) (a :: f b) (a :: f c) :: f d where ... Source #

Equations

LiftA3 f a b c = Apply (Apply (<*>@#@$) (Apply (Apply (Apply LiftA2Sym0 f) a) b)) c |

sLiftA3 :: forall a b c d f (t :: (~>) a ((~>) b ((~>) c d))) (t :: f a) (t :: f b) (t :: f c). SApplicative f => Sing t -> Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (Apply LiftA3Sym0 t) t) t) t :: f d) Source #

type family Optional (a :: f a) :: f (Maybe a) where ... Source #

Equations

Optional v = Apply (Apply (<|>@#@$) (Apply (Apply (<$>@#@$) JustSym0) v)) (Apply PureSym0 NothingSym0) |

sOptional :: forall f a (t :: f a). SAlternative f => Sing t -> Sing (Apply OptionalSym0 t :: f (Maybe a)) Source #

# Defunctionalization symbols

data PureSym0 :: forall a6989586621679566951 f6989586621679566950. (~>) a6989586621679566951 (f6989586621679566950 a6989586621679566951) Source #

#### Instances

Instances details

SApplicative f => SingI (PureSym0 :: TyFun a (f a) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing PureSym0 Source #
SuppressUnusedWarnings (PureSym0 :: TyFun a6989586621679566951 (f6989586621679566950 a6989586621679566951) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply (PureSym0 :: TyFun a (f6989586621679566950 a) -> Type) (arg6989586621679567361 :: a) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal type Apply (PureSym0 :: TyFun a (f6989586621679566950 a) -> Type) (arg6989586621679567361 :: a) = Pure arg6989586621679567361 :: f6989586621679566950 a

type PureSym1 (arg6989586621679567361 :: a6989586621679566951) = Pure arg6989586621679567361 Source #

data (<*>@#@$) :: forall f6989586621679566950 a6989586621679566952 b6989586621679566953. (~>) (f6989586621679566950 ((~>) a6989586621679566952 b6989586621679566953)) ((~>) (f6989586621679566950 a6989586621679566952) (f6989586621679566950 b6989586621679566953)) infixl 4 Source #

#### Instances

Instances details

SApplicative f => SingI ((<*>@#@$) :: TyFun (f (a ~> b)) (f a ~> f b) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing (<*>@#@$) Source #
SuppressUnusedWarnings ((<*>@#@$) :: TyFun (f6989586621679566950 (a6989586621679566952 ~> b6989586621679566953)) (f6989586621679566950 a6989586621679566952 ~> f6989586621679566950 b6989586621679566953) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply ((<*>@#@$) :: TyFun (f6989586621679566950 (a6989586621679566952 ~> b6989586621679566953)) (f6989586621679566950 a6989586621679566952 ~> f6989586621679566950 b6989586621679566953) -> Type) (arg6989586621679567363 :: f6989586621679566950 (a6989586621679566952 ~> b6989586621679566953)) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal type Apply ((<*>@#@$) :: TyFun (f6989586621679566950 (a6989586621679566952 ~> b6989586621679566953)) (f6989586621679566950 a6989586621679566952 ~> f6989586621679566950 b6989586621679566953) -> Type) (arg6989586621679567363 :: f6989586621679566950 (a6989586621679566952 ~> b6989586621679566953)) = (<*>@#@$$) arg6989586621679567363

data (<*>@#@$$) (arg6989586621679567363 :: f6989586621679566950 ((~>) a6989586621679566952 b6989586621679566953)) :: (~>) (f6989586621679566950 a6989586621679566952) (f6989586621679566950 b6989586621679566953) infixl 4 Source #

#### Instances

Instances details

(SApplicative f, SingI d) => SingI ((<*>@#@$$) d :: TyFun (f a) (f b) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing ((<*>@#@$$) d) Source #
SuppressUnusedWarnings ((<*>@#@$$) arg6989586621679567363 :: TyFun (f6989586621679566950 a6989586621679566952) (f6989586621679566950 b6989586621679566953) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply ((<*>@#@$$) arg6989586621679567363 :: TyFun (f a) (f b) -> Type) (arg6989586621679567364 :: f a) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal type Apply ((<*>@#@$$) arg6989586621679567363 :: TyFun (f a) (f b) -> Type) (arg6989586621679567364 :: f a) = arg6989586621679567363 <*> arg6989586621679567364

type (<*>@#@$$$) (arg6989586621679567363 :: f6989586621679566950 ((~>) a6989586621679566952 b6989586621679566953)) (arg6989586621679567364 :: f6989586621679566950 a6989586621679566952) = (<*>) arg6989586621679567363 arg6989586621679567364 Source #

data (*>@#@$) :: forall f6989586621679566950 a6989586621679566957 b6989586621679566958. (~>) (f6989586621679566950 a6989586621679566957) ((~>) (f6989586621679566950 b6989586621679566958) (f6989586621679566950 b6989586621679566958)) infixl 4 Source #

#### Instances

Instances details

SApplicative f => SingI ((*>@#@$) :: TyFun (f a) (f b ~> f b) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing (*>@#@$) Source #
SuppressUnusedWarnings ((*>@#@$) :: TyFun (f6989586621679566950 a6989586621679566957) (f6989586621679566950 b6989586621679566958 ~> f6989586621679566950 b6989586621679566958) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply ((*>@#@$) :: TyFun (f6989586621679566950 a6989586621679566957) (f6989586621679566950 b6989586621679566958 ~> f6989586621679566950 b6989586621679566958) -> Type) (arg6989586621679567373 :: f6989586621679566950 a6989586621679566957) Source # |

Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply ((*>@#@$) :: TyFun (f6989586621679566950 a6989586621679566957) (f6989586621679566950 b6989586621679566958 ~> f6989586621679566950 b6989586621679566958) -> Type) (arg6989586621679567373 :: f6989586621679566950 a6989586621679566957) = arg6989586621679567373 *>@#@$$ b6989586621679566958 :: TyFun (f6989586621679566950 b6989586621679566958) (f6989586621679566950 b6989586621679566958) -> Type

data (*>@#@$$) (arg6989586621679567373 :: f6989586621679566950 a6989586621679566957) :: forall b6989586621679566958. (~>) (f6989586621679566950 b6989586621679566958) (f6989586621679566950 b6989586621679566958) infixl 4 Source #

#### Instances

Instances details

(SApplicative f, SingI d) => SingI (d *>@#@$$ b :: TyFun (f b) (f b) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing (d *>@#@$$ b) Source #
SuppressUnusedWarnings (arg6989586621679567373 *>@#@$$ b6989586621679566958 :: TyFun (f6989586621679566950 b6989586621679566958) (f6989586621679566950 b6989586621679566958) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply (arg6989586621679567373 *>@#@$$ b :: TyFun (f b) (f b) -> Type) (arg6989586621679567374 :: f b) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal type Apply (arg6989586621679567373 *>@#@$$ b :: TyFun (f b) (f b) -> Type) (arg6989586621679567374 :: f b) = arg6989586621679567373 *> arg6989586621679567374

type (*>@#@$$$) (arg6989586621679567373 :: f6989586621679566950 a6989586621679566957) (arg6989586621679567374 :: f6989586621679566950 b6989586621679566958) = (*>) arg6989586621679567373 arg6989586621679567374 Source #

data (<*@#@$) :: forall f6989586621679566950 a6989586621679566959 b6989586621679566960. (~>) (f6989586621679566950 a6989586621679566959) ((~>) (f6989586621679566950 b6989586621679566960) (f6989586621679566950 a6989586621679566959)) infixl 4 Source #

#### Instances

Instances details

SApplicative f => SingI ((<*@#@$) :: TyFun (f a) (f b ~> f a) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing (<*@#@$) Source #
SuppressUnusedWarnings ((<*@#@$) :: TyFun (f6989586621679566950 a6989586621679566959) (f6989586621679566950 b6989586621679566960 ~> f6989586621679566950 a6989586621679566959) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply ((<*@#@$) :: TyFun (f6989586621679566950 a6989586621679566959) (f6989586621679566950 b6989586621679566960 ~> f6989586621679566950 a6989586621679566959) -> Type) (arg6989586621679567377 :: f6989586621679566950 a6989586621679566959) Source # |

Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply ((<*@#@$) :: TyFun (f6989586621679566950 a6989586621679566959) (f6989586621679566950 b6989586621679566960 ~> f6989586621679566950 a6989586621679566959) -> Type) (arg6989586621679567377 :: f6989586621679566950 a6989586621679566959) = arg6989586621679567377 <*@#@$$ b6989586621679566960 :: TyFun (f6989586621679566950 b6989586621679566960) (f6989586621679566950 a6989586621679566959) -> Type

data (<*@#@$$) (arg6989586621679567377 :: f6989586621679566950 a6989586621679566959) :: forall b6989586621679566960. (~>) (f6989586621679566950 b6989586621679566960) (f6989586621679566950 a6989586621679566959) infixl 4 Source #

#### Instances

Instances details

(SApplicative f, SingI d) => SingI (d <*@#@$$ b :: TyFun (f b) (f a) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing (d <*@#@$$ b) Source #
SuppressUnusedWarnings (arg6989586621679567377 <*@#@$$ b6989586621679566960 :: TyFun (f6989586621679566950 b6989586621679566960) (f6989586621679566950 a6989586621679566959) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply (arg6989586621679567377 <*@#@$$ b :: TyFun (f b) (f a) -> Type) (arg6989586621679567378 :: f b) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal type Apply (arg6989586621679567377 <*@#@$$ b :: TyFun (f b) (f a) -> Type) (arg6989586621679567378 :: f b) = arg6989586621679567377 <* arg6989586621679567378

type (<*@#@$$$) (arg6989586621679567377 :: f6989586621679566950 a6989586621679566959) (arg6989586621679567378 :: f6989586621679566950 b6989586621679566960) = (<*) arg6989586621679567377 arg6989586621679567378 Source #

type EmptySym0 = Empty Source #

data (<|>@#@$) :: forall f6989586621679567025 a6989586621679567027. (~>) (f6989586621679567025 a6989586621679567027) ((~>) (f6989586621679567025 a6989586621679567027) (f6989586621679567025 a6989586621679567027)) infixl 3 Source #

#### Instances

Instances details

SAlternative f => SingI ((<|>@#@$) :: TyFun (f a) (f a ~> f a) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing (<|>@#@$) Source #
SuppressUnusedWarnings ((<|>@#@$) :: TyFun (f6989586621679567025 a6989586621679567027) (f6989586621679567025 a6989586621679567027 ~> f6989586621679567025 a6989586621679567027) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply ((<|>@#@$) :: TyFun (f6989586621679567025 a6989586621679567027) (f6989586621679567025 a6989586621679567027 ~> f6989586621679567025 a6989586621679567027) -> Type) (arg6989586621679567485 :: f6989586621679567025 a6989586621679567027) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal type Apply ((<|>@#@$) :: TyFun (f6989586621679567025 a6989586621679567027) (f6989586621679567025 a6989586621679567027 ~> f6989586621679567025 a6989586621679567027) -> Type) (arg6989586621679567485 :: f6989586621679567025 a6989586621679567027) = (<|>@#@$$) arg6989586621679567485

data (<|>@#@$$) (arg6989586621679567485 :: f6989586621679567025 a6989586621679567027) :: (~>) (f6989586621679567025 a6989586621679567027) (f6989586621679567025 a6989586621679567027) infixl 3 Source #

#### Instances

Instances details

(SAlternative f, SingI d) => SingI ((<|>@#@$$) d :: TyFun (f a) (f a) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing ((<|>@#@$$) d) Source #
SuppressUnusedWarnings ((<|>@#@$$) arg6989586621679567485 :: TyFun (f6989586621679567025 a6989586621679567027) (f6989586621679567025 a6989586621679567027) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply ((<|>@#@$$) arg6989586621679567485 :: TyFun (f a) (f a) -> Type) (arg6989586621679567486 :: f a) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal type Apply ((<|>@#@$$) arg6989586621679567485 :: TyFun (f a) (f a) -> Type) (arg6989586621679567486 :: f a) = arg6989586621679567485 <|> arg6989586621679567486

type (<|>@#@$$$) (arg6989586621679567485 :: f6989586621679567025 a6989586621679567027) (arg6989586621679567486 :: f6989586621679567025 a6989586621679567027) = (<|>) arg6989586621679567485 arg6989586621679567486 Source #

data ConstSym0 :: forall (a6989586621679090105 :: Type) k6989586621679090104 (b6989586621679090106 :: k6989586621679090104). (~>) a6989586621679090105 (Const (a6989586621679090105 :: Type) (b6989586621679090106 :: k6989586621679090104)) Source #

#### Instances

Instances details

SingI (ConstSym0 :: TyFun a6989586621679090105 (Const a6989586621679090105 b6989586621679090106) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Methods sing :: Sing ConstSym0 Source #
SuppressUnusedWarnings (ConstSym0 :: TyFun a6989586621679090105 (Const a6989586621679090105 b6989586621679090106) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Methods suppressUnusedWarnings :: () Source #
type Apply (ConstSym0 :: TyFun a (Const a b6989586621679090106) -> Type) (t6989586621680754547 :: a) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Apply (ConstSym0 :: TyFun a (Const a b6989586621679090106) -> Type) (t6989586621680754547 :: a) = 'Const t6989586621680754547 :: Const a b6989586621679090106

type ConstSym1 (t6989586621680754547 :: a6989586621679090105) = 'Const t6989586621680754547 Source #

data GetConstSym0 :: forall a6989586621680754815 b6989586621680754816. (~>) (Const a6989586621680754815 b6989586621680754816) a6989586621680754815 Source #

#### Instances

Instances details

SuppressUnusedWarnings (GetConstSym0 :: TyFun (Const a6989586621680754815 b6989586621680754816) a6989586621680754815 -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Methods suppressUnusedWarnings :: () Source #
type Apply (GetConstSym0 :: TyFun (Const a b) a -> Type) (x6989586621680754817 :: Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const type Apply (GetConstSym0 :: TyFun (Const a b) a -> Type) (x6989586621680754817 :: Const a b) = GetConst x6989586621680754817

type GetConstSym1 (x6989586621680754817 :: Const a6989586621680754815 b6989586621680754816) = GetConst x6989586621680754817 Source #

data (<$>@#@$) :: forall a6989586621679737122 b6989586621679737123 f6989586621679737121. (~>) ((~>) a6989586621679737122 b6989586621679737123) ((~>) (f6989586621679737121 a6989586621679737122) (f6989586621679737121 b6989586621679737123)) infixl 4 Source #

#### Instances

Instances details

SFunctor f => SingI ((<$>@#@$) :: TyFun (a ~> b) (f a ~> f b) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Functor Methods sing :: Sing (<$>@#@$) Source #
SuppressUnusedWarnings ((<$>@#@$) :: TyFun (a6989586621679737122 ~> b6989586621679737123) (f6989586621679737121 a6989586621679737122 ~> f6989586621679737121 b6989586621679737123) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Functor Methods suppressUnusedWarnings :: () Source #
type Apply ((<$>@#@$) :: TyFun (a6989586621679737122 ~> b6989586621679737123) (f6989586621679737121 a6989586621679737122 ~> f6989586621679737121 b6989586621679737123) -> Type) (a6989586621679737203 :: a6989586621679737122 ~> b6989586621679737123) Source # |

Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply ((<$>@#@$) :: TyFun (a6989586621679737122 ~> b6989586621679737123) (f6989586621679737121 a6989586621679737122 ~> f6989586621679737121 b6989586621679737123) -> Type) (a6989586621679737203 :: a6989586621679737122 ~> b6989586621679737123) = a6989586621679737203 <$>@#@$$ f6989586621679737121 :: TyFun (f6989586621679737121 a6989586621679737122) (f6989586621679737121 b6989586621679737123) -> Type

data (<$>@#@$$) (a6989586621679737203 :: (~>) a6989586621679737122 b6989586621679737123) :: forall f6989586621679737121. (~>) (f6989586621679737121 a6989586621679737122) (f6989586621679737121 b6989586621679737123) infixl 4 Source #

#### Instances

Instances details

(SFunctor f, SingI d) => SingI (d <$>@#@$$ f :: TyFun (f a) (f b) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Functor Methods sing :: Sing (d <$>@#@$$ f) Source #
SuppressUnusedWarnings (a6989586621679737203 <$>@#@$$ f6989586621679737121 :: TyFun (f6989586621679737121 a6989586621679737122) (f6989586621679737121 b6989586621679737123) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Functor Methods suppressUnusedWarnings :: () Source #
type Apply (a6989586621679737203 <$>@#@$$ f :: TyFun (f a) (f b) -> Type) (a6989586621679737204 :: f a) Source # |
Instance details Defined in Data.Singletons.Prelude.Functor type Apply (a6989586621679737203 <$>@#@$$ f :: TyFun (f a) (f b) -> Type) (a6989586621679737204 :: f a) = a6989586621679737203 <$> a6989586621679737204

type (<$>@#@$$$) (a6989586621679737203 :: (~>) a6989586621679737122 b6989586621679737123) (a6989586621679737204 :: f6989586621679737121 a6989586621679737122) = (<$>) a6989586621679737203 a6989586621679737204 Source #

data (<$@#@$) :: forall a6989586621679566948 f6989586621679566945 b6989586621679566949. (~>) a6989586621679566948 ((~>) (f6989586621679566945 b6989586621679566949) (f6989586621679566945 a6989586621679566948)) infixl 4 Source #

#### Instances

Instances details

SFunctor f => SingI ((<$@#@$) :: TyFun a (f b ~> f a) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing (<$@#@$) Source #
SuppressUnusedWarnings ((<$@#@$) :: TyFun a6989586621679566948 (f6989586621679566945 b6989586621679566949 ~> f6989586621679566945 a6989586621679566948) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply ((<$@#@$) :: TyFun a6989586621679566948 (f6989586621679566945 b6989586621679566949 ~> f6989586621679566945 a6989586621679566948) -> Type) (arg6989586621679567341 :: a6989586621679566948) Source # |

Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply ((<$@#@$) :: TyFun a6989586621679566948 (f6989586621679566945 b6989586621679566949 ~> f6989586621679566945 a6989586621679566948) -> Type) (arg6989586621679567341 :: a6989586621679566948) = (arg6989586621679567341 <$@#@$$ f6989586621679566945) b6989586621679566949 :: TyFun (f6989586621679566945 b6989586621679566949) (f6989586621679566945 a6989586621679566948) -> Type

data (<$@#@$$) (arg6989586621679567341 :: a6989586621679566948) :: forall f6989586621679566945 b6989586621679566949. (~>) (f6989586621679566945 b6989586621679566949) (f6989586621679566945 a6989586621679566948) infixl 4 Source #

#### Instances

Instances details

(SFunctor f, SingI d) => SingI ((d <$@#@$$ f) b :: TyFun (f b) (f a) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing ((d <$@#@$$ f) b) Source #
SuppressUnusedWarnings ((arg6989586621679567341 <$@#@$$ f6989586621679566945) b6989586621679566949 :: TyFun (f6989586621679566945 b6989586621679566949) (f6989586621679566945 a6989586621679566948) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply ((arg6989586621679567341 <$@#@$$ f) b :: TyFun (f b) (f a) -> Type) (arg6989586621679567342 :: f b) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal type Apply ((arg6989586621679567341 <$@#@$$ f) b :: TyFun (f b) (f a) -> Type) (arg6989586621679567342 :: f b) = arg6989586621679567341 <$ arg6989586621679567342

type (<$@#@$$$) (arg6989586621679567341 :: a6989586621679566948) (arg6989586621679567342 :: f6989586621679566945 b6989586621679566949) = (<$) arg6989586621679567341 arg6989586621679567342 Source #

data (<**>@#@$) :: forall f6989586621679566910 a6989586621679566911 b6989586621679566912. (~>) (f6989586621679566910 a6989586621679566911) ((~>) (f6989586621679566910 ((~>) a6989586621679566911 b6989586621679566912)) (f6989586621679566910 b6989586621679566912)) infixl 4 Source #

#### Instances

Instances details

SApplicative f => SingI ((<**>@#@$) :: TyFun (f a) (f (a ~> b) ~> f b) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing (<**>@#@$) Source #
SuppressUnusedWarnings ((<**>@#@$) :: TyFun (f6989586621679566910 a6989586621679566911) (f6989586621679566910 (a6989586621679566911 ~> b6989586621679566912) ~> f6989586621679566910 b6989586621679566912) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply ((<**>@#@$) :: TyFun (f6989586621679566910 a6989586621679566911) (f6989586621679566910 (a6989586621679566911 ~> b6989586621679566912) ~> f6989586621679566910 b6989586621679566912) -> Type) (a6989586621679567321 :: f6989586621679566910 a6989586621679566911) Source # |

Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply ((<**>@#@$) :: TyFun (f6989586621679566910 a6989586621679566911) (f6989586621679566910 (a6989586621679566911 ~> b6989586621679566912) ~> f6989586621679566910 b6989586621679566912) -> Type) (a6989586621679567321 :: f6989586621679566910 a6989586621679566911) = a6989586621679567321 <**>@#@$$ b6989586621679566912 :: TyFun (f6989586621679566910 (a6989586621679566911 ~> b6989586621679566912)) (f6989586621679566910 b6989586621679566912) -> Type

data (<**>@#@$$) (a6989586621679567321 :: f6989586621679566910 a6989586621679566911) :: forall b6989586621679566912. (~>) (f6989586621679566910 ((~>) a6989586621679566911 b6989586621679566912)) (f6989586621679566910 b6989586621679566912) infixl 4 Source #

#### Instances

Instances details

(SApplicative f, SingI d) => SingI (d <**>@#@$$ b :: TyFun (f (a ~> b)) (f b) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing (d <**>@#@$$ b) Source #
SuppressUnusedWarnings (a6989586621679567321 <**>@#@$$ b6989586621679566912 :: TyFun (f6989586621679566910 (a6989586621679566911 ~> b6989586621679566912)) (f6989586621679566910 b6989586621679566912) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply (a6989586621679567321 <**>@#@$$ b :: TyFun (f (a ~> b)) (f b) -> Type) (a6989586621679567322 :: f (a ~> b)) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal type Apply (a6989586621679567321 <**>@#@$$ b :: TyFun (f (a ~> b)) (f b) -> Type) (a6989586621679567322 :: f (a ~> b)) = a6989586621679567321 <**> a6989586621679567322

type (<**>@#@$$$) (a6989586621679567321 :: f6989586621679566910 a6989586621679566911) (a6989586621679567322 :: f6989586621679566910 ((~>) a6989586621679566911 b6989586621679566912)) = (<**>) a6989586621679567321 a6989586621679567322 Source #

data LiftASym0 :: forall a6989586621679566908 b6989586621679566909 f6989586621679566907. (~>) ((~>) a6989586621679566908 b6989586621679566909) ((~>) (f6989586621679566907 a6989586621679566908) (f6989586621679566907 b6989586621679566909)) Source #

#### Instances

Instances details

SApplicative f => SingI (LiftASym0 :: TyFun (a ~> b) (f a ~> f b) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing LiftASym0 Source #
SuppressUnusedWarnings (LiftASym0 :: TyFun (a6989586621679566908 ~> b6989586621679566909) (f6989586621679566907 a6989586621679566908 ~> f6989586621679566907 b6989586621679566909) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply (LiftASym0 :: TyFun (a6989586621679566908 ~> b6989586621679566909) (f6989586621679566907 a6989586621679566908 ~> f6989586621679566907 b6989586621679566909) -> Type) (a6989586621679567311 :: a6989586621679566908 ~> b6989586621679566909) Source # |

Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply (LiftASym0 :: TyFun (a6989586621679566908 ~> b6989586621679566909) (f6989586621679566907 a6989586621679566908 ~> f6989586621679566907 b6989586621679566909) -> Type) (a6989586621679567311 :: a6989586621679566908 ~> b6989586621679566909) = LiftASym1 a6989586621679567311 f6989586621679566907 :: TyFun (f6989586621679566907 a6989586621679566908) (f6989586621679566907 b6989586621679566909) -> Type

data LiftASym1 (a6989586621679567311 :: (~>) a6989586621679566908 b6989586621679566909) :: forall f6989586621679566907. (~>) (f6989586621679566907 a6989586621679566908) (f6989586621679566907 b6989586621679566909) Source #

#### Instances

Instances details

(SApplicative f, SingI d) => SingI (LiftASym1 d f :: TyFun (f a) (f b) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing (LiftASym1 d f) Source #
SuppressUnusedWarnings (LiftASym1 a6989586621679567311 f6989586621679566907 :: TyFun (f6989586621679566907 a6989586621679566908) (f6989586621679566907 b6989586621679566909) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply (LiftASym1 a6989586621679567311 f :: TyFun (f a) (f b) -> Type) (a6989586621679567312 :: f a) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal type Apply (LiftASym1 a6989586621679567311 f :: TyFun (f a) (f b) -> Type) (a6989586621679567312 :: f a) = LiftA a6989586621679567311 a6989586621679567312

type LiftASym2 (a6989586621679567311 :: (~>) a6989586621679566908 b6989586621679566909) (a6989586621679567312 :: f6989586621679566907 a6989586621679566908) = LiftA a6989586621679567311 a6989586621679567312 Source #

data LiftA2Sym0 :: forall a6989586621679566954 b6989586621679566955 c6989586621679566956 f6989586621679566950. (~>) ((~>) a6989586621679566954 ((~>) b6989586621679566955 c6989586621679566956)) ((~>) (f6989586621679566950 a6989586621679566954) ((~>) (f6989586621679566950 b6989586621679566955) (f6989586621679566950 c6989586621679566956))) Source #

#### Instances

Instances details

SApplicative f => SingI (LiftA2Sym0 :: TyFun (a ~> (b ~> c)) (f a ~> (f b ~> f c)) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing LiftA2Sym0 Source #
SuppressUnusedWarnings (LiftA2Sym0 :: TyFun (a6989586621679566954 ~> (b6989586621679566955 ~> c6989586621679566956)) (f6989586621679566950 a6989586621679566954 ~> (f6989586621679566950 b6989586621679566955 ~> f6989586621679566950 c6989586621679566956)) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply (LiftA2Sym0 :: TyFun (a6989586621679566954 ~> (b6989586621679566955 ~> c6989586621679566956)) (f6989586621679566950 a6989586621679566954 ~> (f6989586621679566950 b6989586621679566955 ~> f6989586621679566950 c6989586621679566956)) -> Type) (arg6989586621679567367 :: a6989586621679566954 ~> (b6989586621679566955 ~> c6989586621679566956)) Source # |

Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply (LiftA2Sym0 :: TyFun (a6989586621679566954 ~> (b6989586621679566955 ~> c6989586621679566956)) (f6989586621679566950 a6989586621679566954 ~> (f6989586621679566950 b6989586621679566955 ~> f6989586621679566950 c6989586621679566956)) -> Type) (arg6989586621679567367 :: a6989586621679566954 ~> (b6989586621679566955 ~> c6989586621679566956)) = LiftA2Sym1 arg6989586621679567367 f6989586621679566950 :: TyFun (f6989586621679566950 a6989586621679566954) (f6989586621679566950 b6989586621679566955 ~> f6989586621679566950 c6989586621679566956) -> Type

data LiftA2Sym1 (arg6989586621679567367 :: (~>) a6989586621679566954 ((~>) b6989586621679566955 c6989586621679566956)) :: forall f6989586621679566950. (~>) (f6989586621679566950 a6989586621679566954) ((~>) (f6989586621679566950 b6989586621679566955) (f6989586621679566950 c6989586621679566956)) Source #

#### Instances

Instances details

(SApplicative f, SingI d) => SingI (LiftA2Sym1 d f :: TyFun (f a) (f b ~> f c) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing (LiftA2Sym1 d f) Source #
SuppressUnusedWarnings (LiftA2Sym1 arg6989586621679567367 f6989586621679566950 :: TyFun (f6989586621679566950 a6989586621679566954) (f6989586621679566950 b6989586621679566955 ~> f6989586621679566950 c6989586621679566956) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply (LiftA2Sym1 arg6989586621679567367 f6989586621679566950 :: TyFun (f6989586621679566950 a6989586621679566954) (f6989586621679566950 b6989586621679566955 ~> f6989586621679566950 c6989586621679566956) -> Type) (arg6989586621679567368 :: f6989586621679566950 a6989586621679566954) Source # |

Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply (LiftA2Sym1 arg6989586621679567367 f6989586621679566950 :: TyFun (f6989586621679566950 a6989586621679566954) (f6989586621679566950 b6989586621679566955 ~> f6989586621679566950 c6989586621679566956) -> Type) (arg6989586621679567368 :: f6989586621679566950 a6989586621679566954) = LiftA2Sym2 arg6989586621679567367 arg6989586621679567368

data LiftA2Sym2 (arg6989586621679567367 :: (~>) a6989586621679566954 ((~>) b6989586621679566955 c6989586621679566956)) (arg6989586621679567368 :: f6989586621679566950 a6989586621679566954) :: (~>) (f6989586621679566950 b6989586621679566955) (f6989586621679566950 c6989586621679566956) Source #

#### Instances

Instances details

(SApplicative f, SingI d1, SingI d2) => SingI (LiftA2Sym2 d1 d2 :: TyFun (f b) (f c) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing (LiftA2Sym2 d1 d2) Source #
SuppressUnusedWarnings (LiftA2Sym2 arg6989586621679567368 arg6989586621679567367 :: TyFun (f6989586621679566950 b6989586621679566955) (f6989586621679566950 c6989586621679566956) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply (LiftA2Sym2 arg6989586621679567368 arg6989586621679567367 :: TyFun (f b) (f c) -> Type) (arg6989586621679567369 :: f b) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal type Apply (LiftA2Sym2 arg6989586621679567368 arg6989586621679567367 :: TyFun (f b) (f c) -> Type) (arg6989586621679567369 :: f b) = LiftA2 arg6989586621679567368 arg6989586621679567367 arg6989586621679567369

type LiftA2Sym3 (arg6989586621679567367 :: (~>) a6989586621679566954 ((~>) b6989586621679566955 c6989586621679566956)) (arg6989586621679567368 :: f6989586621679566950 a6989586621679566954) (arg6989586621679567369 :: f6989586621679566950 b6989586621679566955) = LiftA2 arg6989586621679567367 arg6989586621679567368 arg6989586621679567369 Source #

data LiftA3Sym0 :: forall a6989586621679566903 b6989586621679566904 c6989586621679566905 d6989586621679566906 f6989586621679566902. (~>) ((~>) a6989586621679566903 ((~>) b6989586621679566904 ((~>) c6989586621679566905 d6989586621679566906))) ((~>) (f6989586621679566902 a6989586621679566903) ((~>) (f6989586621679566902 b6989586621679566904) ((~>) (f6989586621679566902 c6989586621679566905) (f6989586621679566902 d6989586621679566906)))) Source #

#### Instances

Instances details

SApplicative f => SingI (LiftA3Sym0 :: TyFun (a ~> (b ~> (c ~> d))) (f a ~> (f b ~> (f c ~> f d))) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing LiftA3Sym0 Source #
SuppressUnusedWarnings (LiftA3Sym0 :: TyFun (a6989586621679566903 ~> (b6989586621679566904 ~> (c6989586621679566905 ~> d6989586621679566906))) (f6989586621679566902 a6989586621679566903 ~> (f6989586621679566902 b6989586621679566904 ~> (f6989586621679566902 c6989586621679566905 ~> f6989586621679566902 d6989586621679566906))) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #

type Apply (LiftA3Sym0 :: TyFun (a6989586621679566903 ~> (b6989586621679566904 ~> (c6989586621679566905 ~> d6989586621679566906))) (f6989586621679566902 a6989586621679566903 ~> (f6989586621679566902 b6989586621679566904 ~> (f6989586621679566902 c6989586621679566905 ~> f6989586621679566902 d6989586621679566906))) -> Type) (a6989586621679567299 :: a6989586621679566903 ~> (b6989586621679566904 ~> (c6989586621679566905 ~> d6989586621679566906))) Source #

Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply (LiftA3Sym0 :: TyFun (a6989586621679566903 ~> (b6989586621679566904 ~> (c6989586621679566905 ~> d6989586621679566906))) (f6989586621679566902 a6989586621679566903 ~> (f6989586621679566902 b6989586621679566904 ~> (f6989586621679566902 c6989586621679566905 ~> f6989586621679566902 d6989586621679566906))) -> Type) (a6989586621679567299 :: a6989586621679566903 ~> (b6989586621679566904 ~> (c6989586621679566905 ~> d6989586621679566906))) = LiftA3Sym1 a6989586621679567299 f6989586621679566902 :: TyFun (f6989586621679566902 a6989586621679566903) (f6989586621679566902 b6989586621679566904 ~> (f6989586621679566902 c6989586621679566905 ~> f6989586621679566902 d6989586621679566906)) -> Type

data LiftA3Sym1 (a6989586621679567299 :: (~>) a6989586621679566903 ((~>) b6989586621679566904 ((~>) c6989586621679566905 d6989586621679566906))) :: forall f6989586621679566902. (~>) (f6989586621679566902 a6989586621679566903) ((~>) (f6989586621679566902 b6989586621679566904) ((~>) (f6989586621679566902 c6989586621679566905) (f6989586621679566902 d6989586621679566906))) Source #

#### Instances

Instances details

(SApplicative f, SingI d2) => SingI (LiftA3Sym1 d2 f :: TyFun (f a) (f b ~> (f c ~> f d1)) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing (LiftA3Sym1 d2 f) Source #
SuppressUnusedWarnings (LiftA3Sym1 a6989586621679567299 f6989586621679566902 :: TyFun (f6989586621679566902 a6989586621679566903) (f6989586621679566902 b6989586621679566904 ~> (f6989586621679566902 c6989586621679566905 ~> f6989586621679566902 d6989586621679566906)) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply (LiftA3Sym1 a6989586621679567299 f6989586621679566902 :: TyFun (f6989586621679566902 a6989586621679566903) (f6989586621679566902 b6989586621679566904 ~> (f6989586621679566902 c6989586621679566905 ~> f6989586621679566902 d6989586621679566906)) -> Type) (a6989586621679567300 :: f6989586621679566902 a6989586621679566903) Source # |

Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply (LiftA3Sym1 a6989586621679567299 f6989586621679566902 :: TyFun (f6989586621679566902 a6989586621679566903) (f6989586621679566902 b6989586621679566904 ~> (f6989586621679566902 c6989586621679566905 ~> f6989586621679566902 d6989586621679566906)) -> Type) (a6989586621679567300 :: f6989586621679566902 a6989586621679566903) = LiftA3Sym2 a6989586621679567299 a6989586621679567300

data LiftA3Sym2 (a6989586621679567299 :: (~>) a6989586621679566903 ((~>) b6989586621679566904 ((~>) c6989586621679566905 d6989586621679566906))) (a6989586621679567300 :: f6989586621679566902 a6989586621679566903) :: (~>) (f6989586621679566902 b6989586621679566904) ((~>) (f6989586621679566902 c6989586621679566905) (f6989586621679566902 d6989586621679566906)) Source #

#### Instances

Instances details

(SApplicative f, SingI d2, SingI d3) => SingI (LiftA3Sym2 d2 d3 :: TyFun (f b) (f c ~> f d1) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing (LiftA3Sym2 d2 d3) Source #
SuppressUnusedWarnings (LiftA3Sym2 a6989586621679567300 a6989586621679567299 :: TyFun (f6989586621679566902 b6989586621679566904) (f6989586621679566902 c6989586621679566905 ~> f6989586621679566902 d6989586621679566906) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply (LiftA3Sym2 a6989586621679567300 a6989586621679567299 :: TyFun (f6989586621679566902 b6989586621679566904) (f6989586621679566902 c6989586621679566905 ~> f6989586621679566902 d6989586621679566906) -> Type) (a6989586621679567301 :: f6989586621679566902 b6989586621679566904) Source # |

Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply (LiftA3Sym2 a6989586621679567300 a6989586621679567299 :: TyFun (f6989586621679566902 b6989586621679566904) (f6989586621679566902 c6989586621679566905 ~> f6989586621679566902 d6989586621679566906) -> Type) (a6989586621679567301 :: f6989586621679566902 b6989586621679566904) = LiftA3Sym3 a6989586621679567300 a6989586621679567299 a6989586621679567301

data LiftA3Sym3 (a6989586621679567299 :: (~>) a6989586621679566903 ((~>) b6989586621679566904 ((~>) c6989586621679566905 d6989586621679566906))) (a6989586621679567300 :: f6989586621679566902 a6989586621679566903) (a6989586621679567301 :: f6989586621679566902 b6989586621679566904) :: (~>) (f6989586621679566902 c6989586621679566905) (f6989586621679566902 d6989586621679566906) Source #

#### Instances

Instances details

(SApplicative f, SingI d2, SingI d3, SingI d4) => SingI (LiftA3Sym3 d2 d3 d4 :: TyFun (f c) (f d1) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods sing :: Sing (LiftA3Sym3 d2 d3 d4) Source #
SuppressUnusedWarnings (LiftA3Sym3 a6989586621679567301 a6989586621679567300 a6989586621679567299 :: TyFun (f6989586621679566902 c6989586621679566905) (f6989586621679566902 d6989586621679566906) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal Methods suppressUnusedWarnings :: () Source #
type Apply (LiftA3Sym3 a6989586621679567301 a6989586621679567300 a6989586621679567299 :: TyFun (f c) (f d) -> Type) (a6989586621679567302 :: f c) Source # |
Instance details Defined in Data.Singletons.Prelude.Monad.Internal type Apply (LiftA3Sym3 a6989586621679567301 a6989586621679567300 a6989586621679567299 :: TyFun (f c) (f d) -> Type) (a6989586621679567302 :: f c) = LiftA3 a6989586621679567301 a6989586621679567300 a6989586621679567299 a6989586621679567302

data OptionalSym0 :: forall f6989586621681262005 a6989586621681262006. (~>) (f6989586621681262005 a6989586621681262006) (f6989586621681262005 (Maybe a6989586621681262006)) Source #

#### Instances

Instances details

SAlternative f => SingI (OptionalSym0 :: TyFun (f a) (f (Maybe a)) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Applicative Methods sing :: Sing OptionalSym0 Source #
SuppressUnusedWarnings (OptionalSym0 :: TyFun (f6989586621681262005 a6989586621681262006) (f6989586621681262005 (Maybe a6989586621681262006)) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Applicative Methods suppressUnusedWarnings :: () Source #
type Apply (OptionalSym0 :: TyFun (f a) (f (Maybe a)) -> Type) (a6989586621681262043 :: f a) Source # |
Instance details Defined in Data.Singletons.Prelude.Applicative type Apply (OptionalSym0 :: TyFun (f a) (f (Maybe a)) -> Type) (a6989586621681262043 :: f a) = Optional a6989586621681262043

type OptionalSym1 (a6989586621681262043 :: f6989586621681262005 a6989586621681262006) = Optional a6989586621681262043 Source #

# Orphan instances

SApplicative Down Source # |

Instance details

Methods

sPure :: forall a (t :: a). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a b (t :: Down (a ~> b)) (t :: Down a). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a b c (t :: a ~> (b ~> c)) (t :: Down a) (t :: Down b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a b (t :: Down a) (t :: Down b). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a b (t :: Down a) (t :: Down b). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

PApplicative Down Source # |
Instance details Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #
SMonoid a => SApplicative ((,) a) Source # |

Instance details

Methods

sPure :: forall a0 (t :: a0). Sing t -> Sing (Apply PureSym0 t) Source #

(%<*>) :: forall a0 b (t :: (a, a0 ~> b)) (t :: (a, a0)). Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) Source #

sLiftA2 :: forall a0 b c (t :: a0 ~> (b ~> c)) (t :: (a, a0)) (t :: (a, b)). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) Source #

(%*>) :: forall a0 b (t :: (a, a0)) (t :: (a, b)). Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) Source #

(%<*) :: forall a0 b (t :: (a, a0)) (t :: (a, b)). Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) Source #

PApplicative ((,) a) Source # |
Instance details Associated Types type Pure arg :: f a Source # type arg <*> arg :: f b Source # type LiftA2 arg arg arg :: f c Source # type arg *> arg :: f b Source # type arg <* arg :: f a Source #