singletons-base
Copyright(C) 2016 Richard Eisenberg
LicenseBSD-style (see LICENSE)
MaintainerRyan Scott
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageGHC2021

Data.Function.Singletons

Description

Defines singleton versions of the definitions in Data.Function.

Because many of these definitions are produced by Template Haskell, it is not possible to create proper Haddock documentation. Please look up the corresponding operation in Data.Function. Also, please excuse the apparent repeated variable names. This is due to an interaction between Template Haskell and Haddock.

Synopsis
  • type family Id (a1 :: a) :: a where ...
  • sId :: forall a (t :: a). Sing t -> Sing (Id t)
  • type family Const (a1 :: a) (a2 :: b) :: a where ...
  • sConst :: forall a b (t1 :: a) (t2 :: b). Sing t1 -> Sing t2 -> Sing (Const t1 t2)
  • type family ((a1 :: b ~> c) . (a2 :: a ~> b)) (a3 :: a) :: c where ...
  • (%.) :: forall b c a (t1 :: b ~> c) (t2 :: a ~> b) (t3 :: a). Sing t1 -> Sing t2 -> Sing t3 -> Sing ((t1 . t2) t3)
  • type family Flip (a1 :: a ~> (b ~> c)) (a2 :: b) (a3 :: a) :: c where ...
  • sFlip :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: b) (t3 :: a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Flip t1 t2 t3)
  • type family (a1 :: a ~> b) $ (a2 :: a) :: b where ...
  • (%$) :: forall a b (t1 :: a ~> b) (t2 :: a). Sing t1 -> Sing t2 -> Sing (t1 $ t2)
  • type family (a1 :: a) & (a2 :: a ~> b) :: b where ...
  • (%&) :: forall a b (t1 :: a) (t2 :: a ~> b). Sing t1 -> Sing t2 -> Sing (t1 & t2)
  • type family On (a1 :: b ~> (b ~> c)) (a2 :: a ~> b) (a3 :: a) (a4 :: a) :: c where ...
  • sOn :: forall b c a (t1 :: b ~> (b ~> c)) (t2 :: a ~> b) (t3 :: a) (t4 :: a). Sing t1 -> Sing t2 -> Sing t3 -> Sing t4 -> Sing (On t1 t2 t3 t4)
  • data IdSym0 (a1 :: TyFun a a)
  • type family IdSym1 (a6989586621679154359 :: a) :: a where ...
  • data ConstSym0 (a1 :: TyFun a (b ~> a))
  • data ConstSym1 (a6989586621679154354 :: a) (b1 :: TyFun b a)
  • type family ConstSym2 (a6989586621679154354 :: a) (a6989586621679154355 :: b) :: a where ...
  • data (.@#@$) (a1 :: TyFun (b ~> c) ((a ~> b) ~> (a ~> c)))
  • data (a6989586621679154339 :: b ~> c) .@#@$$ (b1 :: TyFun (a ~> b) (a ~> c))
  • data ((a6989586621679154339 :: b ~> c) .@#@$$$ (a6989586621679154340 :: a ~> b)) (c1 :: TyFun a c)
  • type family ((a6989586621679154339 :: b ~> c) .@#@$$$$ (a6989586621679154340 :: a ~> b)) (a6989586621679154341 :: a) :: c where ...
  • data FlipSym0 (a1 :: TyFun (a ~> (b ~> c)) (b ~> (a ~> c)))
  • data FlipSym1 (a6989586621679154327 :: a ~> (b ~> c)) (b1 :: TyFun b (a ~> c))
  • data FlipSym2 (a6989586621679154327 :: a ~> (b ~> c)) (a6989586621679154328 :: b) (c1 :: TyFun a c)
  • type family FlipSym3 (a6989586621679154327 :: a ~> (b ~> c)) (a6989586621679154328 :: b) (a6989586621679154329 :: a) :: c where ...
  • data ($@#@$) (a1 :: TyFun (a ~> b) (a ~> b))
  • data (a6989586621679154308 :: a ~> b) $@#@$$ (b1 :: TyFun a b)
  • type family (a6989586621679154308 :: a ~> b) $@#@$$$ (a6989586621679154309 :: a) :: b where ...
  • data (&@#@$) (a1 :: TyFun a ((a ~> b) ~> b))
  • data (a6989586621679253960 :: a) &@#@$$ (b1 :: TyFun (a ~> b) b)
  • type family (a6989586621679253960 :: a) &@#@$$$ (a6989586621679253961 :: a ~> b) :: b where ...
  • data OnSym0 (a1 :: TyFun (b ~> (b ~> c)) ((a ~> b) ~> (a ~> (a ~> c))))
  • data OnSym1 (a6989586621679253973 :: b ~> (b ~> c)) (b1 :: TyFun (a ~> b) (a ~> (a ~> c)))
  • data OnSym2 (a6989586621679253973 :: b ~> (b ~> c)) (a6989586621679253974 :: a ~> b) (c1 :: TyFun a (a ~> c))
  • data OnSym3 (a6989586621679253973 :: b ~> (b ~> c)) (a6989586621679253974 :: a ~> b) (a6989586621679253975 :: a) (d :: TyFun a c)
  • type family OnSym4 (a6989586621679253973 :: b ~> (b ~> c)) (a6989586621679253974 :: a ~> b) (a6989586621679253975 :: a) (a6989586621679253976 :: a) :: c where ...

Prelude re-exports

type family Id (a1 :: a) :: a where ... Source #

Equations

Id (x :: a) = x 

sId :: forall a (t :: a). Sing t -> Sing (Id t) Source #

type family Const (a1 :: a) (a2 :: b) :: a where ... Source #

Equations

Const (x :: a) (_1 :: b) = x 

sConst :: forall a b (t1 :: a) (t2 :: b). Sing t1 -> Sing t2 -> Sing (Const t1 t2) Source #

type family ((a1 :: b ~> c) . (a2 :: a ~> b)) (a3 :: a) :: c where ... infixr 9 Source #

Equations

((f :: b6989586621679154160 ~> k2) . (g :: k1 ~> b6989586621679154160)) (a_6989586621679154333 :: k1) = Apply (LamCases_6989586621679154345Sym0 f g a_6989586621679154333) a_6989586621679154333 

(%.) :: forall b c a (t1 :: b ~> c) (t2 :: a ~> b) (t3 :: a). Sing t1 -> Sing t2 -> Sing t3 -> Sing ((t1 . t2) t3) infixr 9 Source #

type family Flip (a1 :: a ~> (b ~> c)) (a2 :: b) (a3 :: a) :: c where ... Source #

Equations

Flip (f :: k2 ~> (k3 ~> k4)) (x :: k3) (y :: k2) = Apply (Apply f y) x 

sFlip :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: b) (t3 :: a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Flip t1 t2 t3) Source #

type family (a1 :: a ~> b) $ (a2 :: a) :: b where ... infixr 0 Source #

Equations

(f :: k1 ~> k2) $ (x :: k1) = Apply f x 

(%$) :: forall a b (t1 :: a ~> b) (t2 :: a). Sing t1 -> Sing t2 -> Sing (t1 $ t2) infixr 0 Source #

Other combinators

type family (a1 :: a) & (a2 :: a ~> b) :: b where ... infixl 1 Source #

Equations

(x :: k1) & (f :: k1 ~> k2) = Apply f x 

(%&) :: forall a b (t1 :: a) (t2 :: a ~> b). Sing t1 -> Sing t2 -> Sing (t1 & t2) infixl 1 Source #

type family On (a1 :: b ~> (b ~> c)) (a2 :: a ~> b) (a3 :: a) (a4 :: a) :: c where ... infixl 0 Source #

Equations

On (ty :: b6989586621679253946 ~> (b6989586621679253946 ~> k2)) (f :: k1 ~> b6989586621679253946) (a_6989586621679253964 :: k1) (a_6989586621679253966 :: k1) = Apply (Apply (LamCases_6989586621679253981Sym0 ty f a_6989586621679253964 a_6989586621679253966) a_6989586621679253964) a_6989586621679253966 

sOn :: forall b c a (t1 :: b ~> (b ~> c)) (t2 :: a ~> b) (t3 :: a) (t4 :: a). Sing t1 -> Sing t2 -> Sing t3 -> Sing t4 -> Sing (On t1 t2 t3 t4) infixl 0 Source #

Defunctionalization symbols

data IdSym0 (a1 :: TyFun a a) Source #

Instances

Instances details
SingI (IdSym0 :: TyFun a a -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

Methods

sing :: Sing (IdSym0 :: TyFun a a -> Type) #

SuppressUnusedWarnings (IdSym0 :: TyFun a a -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply (IdSym0 :: TyFun a a -> Type) (a6989586621679154359 :: a) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply (IdSym0 :: TyFun a a -> Type) (a6989586621679154359 :: a) = Id a6989586621679154359

type family IdSym1 (a6989586621679154359 :: a) :: a where ... Source #

Equations

IdSym1 (a6989586621679154359 :: a) = Id a6989586621679154359 

data ConstSym0 (a1 :: TyFun a (b ~> a)) Source #

Instances

Instances details
SingI (ConstSym0 :: TyFun a (b ~> a) -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

Methods

sing :: Sing (ConstSym0 :: TyFun a (b ~> a) -> Type) #

SuppressUnusedWarnings (ConstSym0 :: TyFun a (b ~> a) -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply (ConstSym0 :: TyFun a (b ~> a) -> Type) (a6989586621679154354 :: a) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply (ConstSym0 :: TyFun a (b ~> a) -> Type) (a6989586621679154354 :: a) = ConstSym1 a6989586621679154354 :: TyFun b a -> Type

data ConstSym1 (a6989586621679154354 :: a) (b1 :: TyFun b a) Source #

Instances

Instances details
SingI1 (ConstSym1 :: a -> TyFun b a -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

Methods

liftSing :: forall (x :: a). Sing x -> Sing (ConstSym1 x :: TyFun b a -> Type) #

SingI d => SingI (ConstSym1 d :: TyFun b a -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

Methods

sing :: Sing (ConstSym1 d :: TyFun b a -> Type) #

SuppressUnusedWarnings (ConstSym1 a6989586621679154354 :: TyFun b a -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply (ConstSym1 a6989586621679154354 :: TyFun b a -> Type) (a6989586621679154355 :: b) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply (ConstSym1 a6989586621679154354 :: TyFun b a -> Type) (a6989586621679154355 :: b) = Const a6989586621679154354 a6989586621679154355

type family ConstSym2 (a6989586621679154354 :: a) (a6989586621679154355 :: b) :: a where ... Source #

Equations

ConstSym2 (a6989586621679154354 :: a) (a6989586621679154355 :: b) = Const a6989586621679154354 a6989586621679154355 

data (.@#@$) (a1 :: TyFun (b ~> c) ((a ~> b) ~> (a ~> c))) infixr 9 Source #

Instances

Instances details
SingI ((.@#@$) :: TyFun (b ~> c) ((a ~> b) ~> (a ~> c)) -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

Methods

sing :: Sing ((.@#@$) :: TyFun (b ~> c) ((a ~> b) ~> (a ~> c)) -> Type) #

SuppressUnusedWarnings ((.@#@$) :: TyFun (b ~> c) ((a ~> b) ~> (a ~> c)) -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply ((.@#@$) :: TyFun (b ~> c) ((a ~> b) ~> (a ~> c)) -> Type) (a6989586621679154339 :: b ~> c) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply ((.@#@$) :: TyFun (b ~> c) ((a ~> b) ~> (a ~> c)) -> Type) (a6989586621679154339 :: b ~> c) = (.@#@$$) a6989586621679154339 :: TyFun (a ~> b) (a ~> c) -> Type

data (a6989586621679154339 :: b ~> c) .@#@$$ (b1 :: TyFun (a ~> b) (a ~> c)) infixr 9 Source #

Instances

Instances details
SingI1 ((.@#@$$) :: (b ~> c) -> TyFun (a ~> b) (a ~> c) -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

Methods

liftSing :: forall (x :: b ~> c). Sing x -> Sing ((.@#@$$) x :: TyFun (a ~> b) (a ~> c) -> Type) #

SingI d => SingI ((.@#@$$) d :: TyFun (a ~> b) (a ~> c) -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

Methods

sing :: Sing ((.@#@$$) d :: TyFun (a ~> b) (a ~> c) -> Type) #

SuppressUnusedWarnings ((.@#@$$) a6989586621679154339 :: TyFun (a ~> b) (a ~> c) -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply ((.@#@$$) a6989586621679154339 :: TyFun (a ~> b) (a ~> c) -> Type) (a6989586621679154340 :: a ~> b) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply ((.@#@$$) a6989586621679154339 :: TyFun (a ~> b) (a ~> c) -> Type) (a6989586621679154340 :: a ~> b) = a6989586621679154339 .@#@$$$ a6989586621679154340

data ((a6989586621679154339 :: b ~> c) .@#@$$$ (a6989586621679154340 :: a ~> b)) (c1 :: TyFun a c) infixr 9 Source #

Instances

Instances details
SingI2 ((.@#@$$$) :: (b ~> c) -> (a ~> b) -> TyFun a c -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

Methods

liftSing2 :: forall (x :: b ~> c) (y :: a ~> b). Sing x -> Sing y -> Sing (x .@#@$$$ y) #

SingI d => SingI1 ((.@#@$$$) d :: (a ~> b) -> TyFun a c -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

Methods

liftSing :: forall (x :: a ~> b). Sing x -> Sing (d .@#@$$$ x) #

(SingI d1, SingI d2) => SingI (d1 .@#@$$$ d2 :: TyFun a c -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

Methods

sing :: Sing (d1 .@#@$$$ d2) #

SuppressUnusedWarnings (a6989586621679154339 .@#@$$$ a6989586621679154340 :: TyFun a c -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply (a6989586621679154339 .@#@$$$ a6989586621679154340 :: TyFun a c -> Type) (a6989586621679154341 :: a) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply (a6989586621679154339 .@#@$$$ a6989586621679154340 :: TyFun a c -> Type) (a6989586621679154341 :: a) = (a6989586621679154339 . a6989586621679154340) a6989586621679154341

type family ((a6989586621679154339 :: b ~> c) .@#@$$$$ (a6989586621679154340 :: a ~> b)) (a6989586621679154341 :: a) :: c where ... infixr 9 Source #

Equations

((a6989586621679154339 :: b ~> c) .@#@$$$$ (a6989586621679154340 :: a ~> b)) (a6989586621679154341 :: a) = (a6989586621679154339 . a6989586621679154340) a6989586621679154341 

data FlipSym0 (a1 :: TyFun (a ~> (b ~> c)) (b ~> (a ~> c))) Source #

Instances

Instances details
SingI (FlipSym0 :: TyFun (a ~> (b ~> c)) (b ~> (a ~> c)) -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

Methods

sing :: Sing (FlipSym0 :: TyFun (a ~> (b ~> c)) (b ~> (a ~> c)) -> Type) #

SuppressUnusedWarnings (FlipSym0 :: TyFun (a ~> (b ~> c)) (b ~> (a ~> c)) -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply (FlipSym0 :: TyFun (a ~> (b ~> c)) (b ~> (a ~> c)) -> Type) (a6989586621679154327 :: a ~> (b ~> c)) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply (FlipSym0 :: TyFun (a ~> (b ~> c)) (b ~> (a ~> c)) -> Type) (a6989586621679154327 :: a ~> (b ~> c)) = FlipSym1 a6989586621679154327

data FlipSym1 (a6989586621679154327 :: a ~> (b ~> c)) (b1 :: TyFun b (a ~> c)) Source #

Instances

Instances details
SingI1 (FlipSym1 :: (a ~> (b ~> c)) -> TyFun b (a ~> c) -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

Methods

liftSing :: forall (x :: a ~> (b ~> c)). Sing x -> Sing (FlipSym1 x) #

SingI d => SingI (FlipSym1 d :: TyFun b (a ~> c) -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

Methods

sing :: Sing (FlipSym1 d) #

SuppressUnusedWarnings (FlipSym1 a6989586621679154327 :: TyFun b (a ~> c) -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply (FlipSym1 a6989586621679154327 :: TyFun b (a ~> c) -> Type) (a6989586621679154328 :: b) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply (FlipSym1 a6989586621679154327 :: TyFun b (a ~> c) -> Type) (a6989586621679154328 :: b) = FlipSym2 a6989586621679154327 a6989586621679154328

data FlipSym2 (a6989586621679154327 :: a ~> (b ~> c)) (a6989586621679154328 :: b) (c1 :: TyFun a c) Source #

Instances

Instances details
SingI d => SingI1 (FlipSym2 d :: b -> TyFun a c -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

Methods

liftSing :: forall (x :: b). Sing x -> Sing (FlipSym2 d x) #

SingI2 (FlipSym2 :: (a ~> (b ~> c)) -> b -> TyFun a c -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

Methods

liftSing2 :: forall (x :: a ~> (b ~> c)) (y :: b). Sing x -> Sing y -> Sing (FlipSym2 x y) #

(SingI d1, SingI d2) => SingI (FlipSym2 d1 d2 :: TyFun a c -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

Methods

sing :: Sing (FlipSym2 d1 d2) #

SuppressUnusedWarnings (FlipSym2 a6989586621679154327 a6989586621679154328 :: TyFun a c -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply (FlipSym2 a6989586621679154327 a6989586621679154328 :: TyFun a c -> Type) (a6989586621679154329 :: a) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply (FlipSym2 a6989586621679154327 a6989586621679154328 :: TyFun a c -> Type) (a6989586621679154329 :: a) = Flip a6989586621679154327 a6989586621679154328 a6989586621679154329

type family FlipSym3 (a6989586621679154327 :: a ~> (b ~> c)) (a6989586621679154328 :: b) (a6989586621679154329 :: a) :: c where ... Source #

Equations

FlipSym3 (a6989586621679154327 :: a ~> (b ~> c)) (a6989586621679154328 :: b) (a6989586621679154329 :: a) = Flip a6989586621679154327 a6989586621679154328 a6989586621679154329 

data ($@#@$) (a1 :: TyFun (a ~> b) (a ~> b)) infixr 0 Source #

Instances

Instances details
SingI (($@#@$) :: TyFun (a ~> b) (a ~> b) -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

Methods

sing :: Sing (($@#@$) :: TyFun (a ~> b) (a ~> b) -> Type) #

SuppressUnusedWarnings (($@#@$) :: TyFun (a ~> b) (a ~> b) -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply (($@#@$) :: TyFun (a ~> b) (a ~> b) -> Type) (a6989586621679154308 :: a ~> b) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply (($@#@$) :: TyFun (a ~> b) (a ~> b) -> Type) (a6989586621679154308 :: a ~> b) = ($@#@$$) a6989586621679154308

data (a6989586621679154308 :: a ~> b) $@#@$$ (b1 :: TyFun a b) infixr 0 Source #

Instances

Instances details
SingI1 (($@#@$$) :: (a ~> b) -> TyFun a b -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

Methods

liftSing :: forall (x :: a ~> b). Sing x -> Sing (($@#@$$) x) #

SingI d => SingI (($@#@$$) d :: TyFun a b -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

Methods

sing :: Sing (($@#@$$) d) #

SuppressUnusedWarnings (($@#@$$) a6989586621679154308 :: TyFun a b -> Type) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply (($@#@$$) a6989586621679154308 :: TyFun a b -> Type) (a6989586621679154309 :: a) Source # 
Instance details

Defined in GHC.Base.Singletons

type Apply (($@#@$$) a6989586621679154308 :: TyFun a b -> Type) (a6989586621679154309 :: a) = a6989586621679154308 $ a6989586621679154309

type family (a6989586621679154308 :: a ~> b) $@#@$$$ (a6989586621679154309 :: a) :: b where ... infixr 0 Source #

Equations

(a6989586621679154308 :: a ~> b) $@#@$$$ (a6989586621679154309 :: a) = a6989586621679154308 $ a6989586621679154309 

data (&@#@$) (a1 :: TyFun a ((a ~> b) ~> b)) infixl 1 Source #

Instances

Instances details
SingI ((&@#@$) :: TyFun a ((a ~> b) ~> b) -> Type) Source # 
Instance details

Defined in Data.Function.Singletons

Methods

sing :: Sing ((&@#@$) :: TyFun a ((a ~> b) ~> b) -> Type) #

SuppressUnusedWarnings ((&@#@$) :: TyFun a ((a ~> b) ~> b) -> Type) Source # 
Instance details

Defined in Data.Function.Singletons

type Apply ((&@#@$) :: TyFun a ((a ~> b) ~> b) -> Type) (a6989586621679253960 :: a) Source # 
Instance details

Defined in Data.Function.Singletons

type Apply ((&@#@$) :: TyFun a ((a ~> b) ~> b) -> Type) (a6989586621679253960 :: a) = (&@#@$$) a6989586621679253960 :: TyFun (a ~> b) b -> Type

data (a6989586621679253960 :: a) &@#@$$ (b1 :: TyFun (a ~> b) b) infixl 1 Source #

Instances

Instances details
SingI1 ((&@#@$$) :: a -> TyFun (a ~> b) b -> Type) Source # 
Instance details

Defined in Data.Function.Singletons

Methods

liftSing :: forall (x :: a). Sing x -> Sing ((&@#@$$) x :: TyFun (a ~> b) b -> Type) #

SingI d => SingI ((&@#@$$) d :: TyFun (a ~> b) b -> Type) Source # 
Instance details

Defined in Data.Function.Singletons

Methods

sing :: Sing ((&@#@$$) d :: TyFun (a ~> b) b -> Type) #

SuppressUnusedWarnings ((&@#@$$) a6989586621679253960 :: TyFun (a ~> b) b -> Type) Source # 
Instance details

Defined in Data.Function.Singletons

type Apply ((&@#@$$) a6989586621679253960 :: TyFun (a ~> b) b -> Type) (a6989586621679253961 :: a ~> b) Source # 
Instance details

Defined in Data.Function.Singletons

type Apply ((&@#@$$) a6989586621679253960 :: TyFun (a ~> b) b -> Type) (a6989586621679253961 :: a ~> b) = a6989586621679253960 & a6989586621679253961

type family (a6989586621679253960 :: a) &@#@$$$ (a6989586621679253961 :: a ~> b) :: b where ... infixl 1 Source #

Equations

(a6989586621679253960 :: a) &@#@$$$ (a6989586621679253961 :: a ~> b) = a6989586621679253960 & a6989586621679253961 

data OnSym0 (a1 :: TyFun (b ~> (b ~> c)) ((a ~> b) ~> (a ~> (a ~> c)))) infixl 0 Source #

Instances

Instances details
SingI (OnSym0 :: TyFun (b ~> (b ~> c)) ((a ~> b) ~> (a ~> (a ~> c))) -> Type) Source # 
Instance details

Defined in Data.Function.Singletons

Methods

sing :: Sing (OnSym0 :: TyFun (b ~> (b ~> c)) ((a ~> b) ~> (a ~> (a ~> c))) -> Type) #

SuppressUnusedWarnings (OnSym0 :: TyFun (b ~> (b ~> c)) ((a ~> b) ~> (a ~> (a ~> c))) -> Type) Source # 
Instance details

Defined in Data.Function.Singletons

type Apply (OnSym0 :: TyFun (b ~> (b ~> c)) ((a ~> b) ~> (a ~> (a ~> c))) -> Type) (a6989586621679253973 :: b ~> (b ~> c)) Source # 
Instance details

Defined in Data.Function.Singletons

type Apply (OnSym0 :: TyFun (b ~> (b ~> c)) ((a ~> b) ~> (a ~> (a ~> c))) -> Type) (a6989586621679253973 :: b ~> (b ~> c)) = OnSym1 a6989586621679253973 :: TyFun (a ~> b) (a ~> (a ~> c)) -> Type

data OnSym1 (a6989586621679253973 :: b ~> (b ~> c)) (b1 :: TyFun (a ~> b) (a ~> (a ~> c))) infixl 0 Source #

Instances

Instances details
SingI1 (OnSym1 :: (b ~> (b ~> c)) -> TyFun (a ~> b) (a ~> (a ~> c)) -> Type) Source # 
Instance details

Defined in Data.Function.Singletons

Methods

liftSing :: forall (x :: b ~> (b ~> c)). Sing x -> Sing (OnSym1 x :: TyFun (a ~> b) (a ~> (a ~> c)) -> Type) #

SingI d => SingI (OnSym1 d :: TyFun (a ~> b) (a ~> (a ~> c)) -> Type) Source # 
Instance details

Defined in Data.Function.Singletons

Methods

sing :: Sing (OnSym1 d :: TyFun (a ~> b) (a ~> (a ~> c)) -> Type) #

SuppressUnusedWarnings (OnSym1 a6989586621679253973 :: TyFun (a ~> b) (a ~> (a ~> c)) -> Type) Source # 
Instance details

Defined in Data.Function.Singletons

type Apply (OnSym1 a6989586621679253973 :: TyFun (a ~> b) (a ~> (a ~> c)) -> Type) (a6989586621679253974 :: a ~> b) Source # 
Instance details

Defined in Data.Function.Singletons

type Apply (OnSym1 a6989586621679253973 :: TyFun (a ~> b) (a ~> (a ~> c)) -> Type) (a6989586621679253974 :: a ~> b) = OnSym2 a6989586621679253973 a6989586621679253974

data OnSym2 (a6989586621679253973 :: b ~> (b ~> c)) (a6989586621679253974 :: a ~> b) (c1 :: TyFun a (a ~> c)) infixl 0 Source #

Instances

Instances details
SingI2 (OnSym2 :: (b ~> (b ~> c)) -> (a ~> b) -> TyFun a (a ~> c) -> Type) Source # 
Instance details

Defined in Data.Function.Singletons

Methods

liftSing2 :: forall (x :: b ~> (b ~> c)) (y :: a ~> b). Sing x -> Sing y -> Sing (OnSym2 x y) #

SingI d => SingI1 (OnSym2 d :: (a ~> b) -> TyFun a (a ~> c) -> Type) Source # 
Instance details

Defined in Data.Function.Singletons

Methods

liftSing :: forall (x :: a ~> b). Sing x -> Sing (OnSym2 d x) #

(SingI d1, SingI d2) => SingI (OnSym2 d1 d2 :: TyFun a (a ~> c) -> Type) Source # 
Instance details

Defined in Data.Function.Singletons

Methods

sing :: Sing (OnSym2 d1 d2) #

SuppressUnusedWarnings (OnSym2 a6989586621679253973 a6989586621679253974 :: TyFun a (a ~> c) -> Type) Source # 
Instance details

Defined in Data.Function.Singletons

type Apply (OnSym2 a6989586621679253973 a6989586621679253974 :: TyFun a (a ~> c) -> Type) (a6989586621679253975 :: a) Source # 
Instance details

Defined in Data.Function.Singletons

type Apply (OnSym2 a6989586621679253973 a6989586621679253974 :: TyFun a (a ~> c) -> Type) (a6989586621679253975 :: a) = OnSym3 a6989586621679253973 a6989586621679253974 a6989586621679253975

data OnSym3 (a6989586621679253973 :: b ~> (b ~> c)) (a6989586621679253974 :: a ~> b) (a6989586621679253975 :: a) (d :: TyFun a c) infixl 0 Source #

Instances

Instances details
(SingI d1, SingI d2) => SingI1 (OnSym3 d1 d2 :: a -> TyFun a c -> Type) Source # 
Instance details

Defined in Data.Function.Singletons

Methods

liftSing :: forall (x :: a). Sing x -> Sing (OnSym3 d1 d2 x) #

SingI d => SingI2 (OnSym3 d :: (a ~> b) -> a -> TyFun a c -> Type) Source # 
Instance details

Defined in Data.Function.Singletons

Methods

liftSing2 :: forall (x :: a ~> b) (y :: a). Sing x -> Sing y -> Sing (OnSym3 d x y) #

(SingI d1, SingI d2, SingI d3) => SingI (OnSym3 d1 d2 d3 :: TyFun a c -> Type) Source # 
Instance details

Defined in Data.Function.Singletons

Methods

sing :: Sing (OnSym3 d1 d2 d3) #

SuppressUnusedWarnings (OnSym3 a6989586621679253973 a6989586621679253974 a6989586621679253975 :: TyFun a c -> Type) Source # 
Instance details

Defined in Data.Function.Singletons

type Apply (OnSym3 a6989586621679253973 a6989586621679253974 a6989586621679253975 :: TyFun a c -> Type) (a6989586621679253976 :: a) Source # 
Instance details

Defined in Data.Function.Singletons

type Apply (OnSym3 a6989586621679253973 a6989586621679253974 a6989586621679253975 :: TyFun a c -> Type) (a6989586621679253976 :: a) = On a6989586621679253973 a6989586621679253974 a6989586621679253975 a6989586621679253976

type family OnSym4 (a6989586621679253973 :: b ~> (b ~> c)) (a6989586621679253974 :: a ~> b) (a6989586621679253975 :: a) (a6989586621679253976 :: a) :: c where ... infixl 0 Source #

Equations

OnSym4 (a6989586621679253973 :: b ~> (b ~> c)) (a6989586621679253974 :: a ~> b) (a6989586621679253975 :: a) (a6989586621679253976 :: a) = On a6989586621679253973 a6989586621679253974 a6989586621679253975 a6989586621679253976