singletons-2.5.1: A framework for generating singleton types

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

Data.Singletons.Prelude.Function

Contents

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 (a :: a) :: a where ...
  • sId :: forall a (t :: a). Sing t -> Sing (Apply IdSym0 t :: a)
  • type family Const (a :: a) (a :: b) :: a where ...
  • sConst :: forall a b (t :: a) (t :: b). Sing t -> Sing t -> Sing (Apply (Apply ConstSym0 t) t :: a)
  • type family ((a :: (~>) b c) :. (a :: (~>) a b)) (a :: a) :: c where ...
  • (%.) :: forall b c a (t :: (~>) b c) (t :: (~>) a b) (t :: a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (.@#@$) t) t) t :: c)
  • type family Flip (a :: (~>) a ((~>) b c)) (a :: b) (a :: a) :: c where ...
  • sFlip :: forall a b c (t :: (~>) a ((~>) b c)) (t :: b) (t :: a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FlipSym0 t) t) t :: c)
  • type family (a :: (~>) a b) $ (a :: a) :: b where ...
  • (%$) :: forall a b (t :: (~>) a b) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply ($@#@$) t) t :: b)
  • type family (a :: a) & (a :: (~>) a b) :: b where ...
  • (%&) :: forall a b (t :: a) (t :: (~>) a b). Sing t -> Sing t -> Sing (Apply (Apply (&@#@$) t) t :: b)
  • type family On (a :: (~>) b ((~>) b c)) (a :: (~>) a b) (a :: a) (a :: a) :: c where ...
  • sOn :: forall b c a (t :: (~>) b ((~>) b c)) (t :: (~>) a b) (t :: a) (t :: a). Sing t -> Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (Apply OnSym0 t) t) t) t :: c)
  • data IdSym0 :: forall a6989586621679538766. (~>) a6989586621679538766 a6989586621679538766
  • type IdSym1 (a6989586621679538961 :: a6989586621679538766) = Id a6989586621679538961
  • data ConstSym0 :: forall a6989586621679538764 b6989586621679538765. (~>) a6989586621679538764 ((~>) b6989586621679538765 a6989586621679538764)
  • data ConstSym1 (a6989586621679538946 :: a6989586621679538764) :: forall b6989586621679538765. (~>) b6989586621679538765 a6989586621679538764
  • type ConstSym2 (a6989586621679538946 :: a6989586621679538764) (a6989586621679538947 :: b6989586621679538765) = Const a6989586621679538946 a6989586621679538947
  • data (.@#@$) :: forall a6989586621679538763 b6989586621679538761 c6989586621679538762. (~>) ((~>) b6989586621679538761 c6989586621679538762) ((~>) ((~>) a6989586621679538763 b6989586621679538761) ((~>) a6989586621679538763 c6989586621679538762))
  • data (.@#@$$) (a6989586621679538927 :: (~>) b6989586621679538761 c6989586621679538762) :: forall a6989586621679538763. (~>) ((~>) a6989586621679538763 b6989586621679538761) ((~>) a6989586621679538763 c6989586621679538762)
  • data (a6989586621679538927 :: (~>) b6989586621679538761 c6989586621679538762) .@#@$$$ (a6989586621679538928 :: (~>) a6989586621679538763 b6989586621679538761) :: (~>) a6989586621679538763 c6989586621679538762
  • type (.@#@$$$$) (a6989586621679538927 :: (~>) b6989586621679538761 c6989586621679538762) (a6989586621679538928 :: (~>) a6989586621679538763 b6989586621679538761) (a6989586621679538929 :: a6989586621679538763) = (:.) a6989586621679538927 a6989586621679538928 a6989586621679538929
  • data FlipSym0 :: forall a6989586621679538758 b6989586621679538759 c6989586621679538760. (~>) ((~>) a6989586621679538758 ((~>) b6989586621679538759 c6989586621679538760)) ((~>) b6989586621679538759 ((~>) a6989586621679538758 c6989586621679538760))
  • data FlipSym1 (a6989586621679538918 :: (~>) a6989586621679538758 ((~>) b6989586621679538759 c6989586621679538760)) :: (~>) b6989586621679538759 ((~>) a6989586621679538758 c6989586621679538760)
  • data FlipSym2 (a6989586621679538918 :: (~>) a6989586621679538758 ((~>) b6989586621679538759 c6989586621679538760)) (a6989586621679538919 :: b6989586621679538759) :: (~>) a6989586621679538758 c6989586621679538760
  • type FlipSym3 (a6989586621679538918 :: (~>) a6989586621679538758 ((~>) b6989586621679538759 c6989586621679538760)) (a6989586621679538919 :: b6989586621679538759) (a6989586621679538920 :: a6989586621679538758) = Flip a6989586621679538918 a6989586621679538919 a6989586621679538920
  • data ($@#@$) :: forall a6989586621679538755 b6989586621679538756. (~>) ((~>) a6989586621679538755 b6989586621679538756) ((~>) a6989586621679538755 b6989586621679538756)
  • data ($@#@$$) (a6989586621679538912 :: (~>) a6989586621679538755 b6989586621679538756) :: (~>) a6989586621679538755 b6989586621679538756
  • type ($@#@$$$) (a6989586621679538912 :: (~>) a6989586621679538755 b6989586621679538756) (a6989586621679538913 :: a6989586621679538755) = ($) a6989586621679538912 a6989586621679538913
  • data (&@#@$) :: forall a6989586621679750981 b6989586621679750982. (~>) a6989586621679750981 ((~>) ((~>) a6989586621679750981 b6989586621679750982) b6989586621679750982)
  • data (&@#@$$) (a6989586621679750994 :: a6989586621679750981) :: forall b6989586621679750982. (~>) ((~>) a6989586621679750981 b6989586621679750982) b6989586621679750982
  • type (&@#@$$$) (a6989586621679750994 :: a6989586621679750981) (a6989586621679750995 :: (~>) a6989586621679750981 b6989586621679750982) = (&) a6989586621679750994 a6989586621679750995
  • data OnSym0 :: forall a6989586621679750985 b6989586621679750983 c6989586621679750984. (~>) ((~>) b6989586621679750983 ((~>) b6989586621679750983 c6989586621679750984)) ((~>) ((~>) a6989586621679750985 b6989586621679750983) ((~>) a6989586621679750985 ((~>) a6989586621679750985 c6989586621679750984)))
  • data OnSym1 (a6989586621679751000 :: (~>) b6989586621679750983 ((~>) b6989586621679750983 c6989586621679750984)) :: forall a6989586621679750985. (~>) ((~>) a6989586621679750985 b6989586621679750983) ((~>) a6989586621679750985 ((~>) a6989586621679750985 c6989586621679750984))
  • data OnSym2 (a6989586621679751000 :: (~>) b6989586621679750983 ((~>) b6989586621679750983 c6989586621679750984)) (a6989586621679751001 :: (~>) a6989586621679750985 b6989586621679750983) :: (~>) a6989586621679750985 ((~>) a6989586621679750985 c6989586621679750984)
  • data OnSym3 (a6989586621679751000 :: (~>) b6989586621679750983 ((~>) b6989586621679750983 c6989586621679750984)) (a6989586621679751001 :: (~>) a6989586621679750985 b6989586621679750983) (a6989586621679751002 :: a6989586621679750985) :: (~>) a6989586621679750985 c6989586621679750984
  • type OnSym4 (a6989586621679751000 :: (~>) b6989586621679750983 ((~>) b6989586621679750983 c6989586621679750984)) (a6989586621679751001 :: (~>) a6989586621679750985 b6989586621679750983) (a6989586621679751002 :: a6989586621679750985) (a6989586621679751003 :: a6989586621679750985) = On a6989586621679751000 a6989586621679751001 a6989586621679751002 a6989586621679751003

Prelude re-exports

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

Equations

Id x = x 

sId :: forall a (t :: a). Sing t -> Sing (Apply IdSym0 t :: a) #

type family Const (a :: a) (a :: b) :: a where ... #

Equations

Const x _ = x 

sConst :: forall a b (t :: a) (t :: b). Sing t -> Sing t -> Sing (Apply (Apply ConstSym0 t) t :: a) #

type family ((a :: (~>) b c) :. (a :: (~>) a b)) (a :: a) :: c where ... infixr 9 #

Equations

(f :. g) a_6989586621679538933 = Apply (Apply (Apply (Apply Lambda_6989586621679538938Sym0 f) g) a_6989586621679538933) a_6989586621679538933 

(%.) :: forall b c a (t :: (~>) b c) (t :: (~>) a b) (t :: a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (.@#@$) t) t) t :: c) infixr 9 #

type family Flip (a :: (~>) a ((~>) b c)) (a :: b) (a :: a) :: c where ... #

Equations

Flip f x y = Apply (Apply f y) x 

sFlip :: forall a b c (t :: (~>) a ((~>) b c)) (t :: b) (t :: a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FlipSym0 t) t) t :: c) #

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

Equations

f $ x = Apply f x 

(%$) :: forall a b (t :: (~>) a b) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply ($@#@$) t) t :: b) infixr 0 #

Other combinators

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

Equations

x & f = Apply f x 

(%&) :: forall a b (t :: a) (t :: (~>) a b). Sing t -> Sing t -> Sing (Apply (Apply (&@#@$) t) t :: b) infixl 1 #

type family On (a :: (~>) b ((~>) b c)) (a :: (~>) a b) (a :: a) (a :: a) :: c where ... infixl 0 #

Equations

On ty f a_6989586621679751008 a_6989586621679751010 = Apply (Apply (Apply (Apply (Apply (Apply Lambda_6989586621679751016Sym0 ty) f) a_6989586621679751008) a_6989586621679751010) a_6989586621679751008) a_6989586621679751010 

sOn :: forall b c a (t :: (~>) b ((~>) b c)) (t :: (~>) a b) (t :: a) (t :: a). Sing t -> Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (Apply OnSym0 t) t) t) t :: c) infixl 0 #

Defunctionalization symbols

data IdSym0 :: forall a6989586621679538766. (~>) a6989586621679538766 a6989586621679538766 #

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

Defined in Data.Singletons.Prelude.Base

Methods

sing :: Sing IdSym0 #

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

Defined in Data.Singletons.Prelude.Base

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

Defined in Data.Singletons.Prelude.Base

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

type IdSym1 (a6989586621679538961 :: a6989586621679538766) = Id a6989586621679538961 #

data ConstSym0 :: forall a6989586621679538764 b6989586621679538765. (~>) a6989586621679538764 ((~>) b6989586621679538765 a6989586621679538764) #

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

Defined in Data.Singletons.Prelude.Base

Methods

sing :: Sing ConstSym0 #

SuppressUnusedWarnings (ConstSym0 :: TyFun a6989586621679538764 (b6989586621679538765 ~> a6989586621679538764) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (ConstSym0 :: TyFun a6989586621679538764 (b6989586621679538765 ~> a6989586621679538764) -> Type) (a6989586621679538946 :: a6989586621679538764) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (ConstSym0 :: TyFun a6989586621679538764 (b6989586621679538765 ~> a6989586621679538764) -> Type) (a6989586621679538946 :: a6989586621679538764) = (ConstSym1 a6989586621679538946 b6989586621679538765 :: TyFun b6989586621679538765 a6989586621679538764 -> Type)

data ConstSym1 (a6989586621679538946 :: a6989586621679538764) :: forall b6989586621679538765. (~>) b6989586621679538765 a6989586621679538764 #

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

Defined in Data.Singletons.Prelude.Base

Methods

sing :: Sing (ConstSym1 d b) #

SuppressUnusedWarnings (ConstSym1 a6989586621679538946 b6989586621679538765 :: TyFun b6989586621679538765 a6989586621679538764 -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (ConstSym1 a6989586621679538946 b :: TyFun b a -> Type) (a6989586621679538947 :: b) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (ConstSym1 a6989586621679538946 b :: TyFun b a -> Type) (a6989586621679538947 :: b) = Const a6989586621679538946 a6989586621679538947

type ConstSym2 (a6989586621679538946 :: a6989586621679538764) (a6989586621679538947 :: b6989586621679538765) = Const a6989586621679538946 a6989586621679538947 #

data (.@#@$) :: forall a6989586621679538763 b6989586621679538761 c6989586621679538762. (~>) ((~>) b6989586621679538761 c6989586621679538762) ((~>) ((~>) a6989586621679538763 b6989586621679538761) ((~>) a6989586621679538763 c6989586621679538762)) infixr 9 #

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

Defined in Data.Singletons.Prelude.Base

Methods

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

SuppressUnusedWarnings ((.@#@$) :: TyFun (b6989586621679538761 ~> c6989586621679538762) ((a6989586621679538763 ~> b6989586621679538761) ~> (a6989586621679538763 ~> c6989586621679538762)) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply ((.@#@$) :: TyFun (b6989586621679538761 ~> c6989586621679538762) ((a6989586621679538763 ~> b6989586621679538761) ~> (a6989586621679538763 ~> c6989586621679538762)) -> Type) (a6989586621679538927 :: b6989586621679538761 ~> c6989586621679538762) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply ((.@#@$) :: TyFun (b6989586621679538761 ~> c6989586621679538762) ((a6989586621679538763 ~> b6989586621679538761) ~> (a6989586621679538763 ~> c6989586621679538762)) -> Type) (a6989586621679538927 :: b6989586621679538761 ~> c6989586621679538762) = (a6989586621679538927 .@#@$$ a6989586621679538763 :: TyFun (a6989586621679538763 ~> b6989586621679538761) (a6989586621679538763 ~> c6989586621679538762) -> Type)

data (.@#@$$) (a6989586621679538927 :: (~>) b6989586621679538761 c6989586621679538762) :: forall a6989586621679538763. (~>) ((~>) a6989586621679538763 b6989586621679538761) ((~>) a6989586621679538763 c6989586621679538762) infixr 9 #

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

Defined in Data.Singletons.Prelude.Base

Methods

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

SuppressUnusedWarnings (a6989586621679538927 .@#@$$ a6989586621679538763 :: TyFun (a6989586621679538763 ~> b6989586621679538761) (a6989586621679538763 ~> c6989586621679538762) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (a6989586621679538927 .@#@$$ a6989586621679538763 :: TyFun (a6989586621679538763 ~> b6989586621679538761) (a6989586621679538763 ~> c6989586621679538762) -> Type) (a6989586621679538928 :: a6989586621679538763 ~> b6989586621679538761) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (a6989586621679538927 .@#@$$ a6989586621679538763 :: TyFun (a6989586621679538763 ~> b6989586621679538761) (a6989586621679538763 ~> c6989586621679538762) -> Type) (a6989586621679538928 :: a6989586621679538763 ~> b6989586621679538761) = a6989586621679538927 .@#@$$$ a6989586621679538928

data (a6989586621679538927 :: (~>) b6989586621679538761 c6989586621679538762) .@#@$$$ (a6989586621679538928 :: (~>) a6989586621679538763 b6989586621679538761) :: (~>) a6989586621679538763 c6989586621679538762 infixr 9 #

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

Defined in Data.Singletons.Prelude.Base

Methods

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

SuppressUnusedWarnings (a6989586621679538928 .@#@$$$ a6989586621679538927 :: TyFun a6989586621679538763 c6989586621679538762 -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (a6989586621679538928 .@#@$$$ a6989586621679538927 :: TyFun a c -> Type) (a6989586621679538929 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (a6989586621679538928 .@#@$$$ a6989586621679538927 :: TyFun a c -> Type) (a6989586621679538929 :: a) = (a6989586621679538928 :. a6989586621679538927) a6989586621679538929

type (.@#@$$$$) (a6989586621679538927 :: (~>) b6989586621679538761 c6989586621679538762) (a6989586621679538928 :: (~>) a6989586621679538763 b6989586621679538761) (a6989586621679538929 :: a6989586621679538763) = (:.) a6989586621679538927 a6989586621679538928 a6989586621679538929 #

data FlipSym0 :: forall a6989586621679538758 b6989586621679538759 c6989586621679538760. (~>) ((~>) a6989586621679538758 ((~>) b6989586621679538759 c6989586621679538760)) ((~>) b6989586621679538759 ((~>) a6989586621679538758 c6989586621679538760)) #

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

Defined in Data.Singletons.Prelude.Base

Methods

sing :: Sing FlipSym0 #

SuppressUnusedWarnings (FlipSym0 :: TyFun (a6989586621679538758 ~> (b6989586621679538759 ~> c6989586621679538760)) (b6989586621679538759 ~> (a6989586621679538758 ~> c6989586621679538760)) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (FlipSym0 :: TyFun (a6989586621679538758 ~> (b6989586621679538759 ~> c6989586621679538760)) (b6989586621679538759 ~> (a6989586621679538758 ~> c6989586621679538760)) -> Type) (a6989586621679538918 :: a6989586621679538758 ~> (b6989586621679538759 ~> c6989586621679538760)) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (FlipSym0 :: TyFun (a6989586621679538758 ~> (b6989586621679538759 ~> c6989586621679538760)) (b6989586621679538759 ~> (a6989586621679538758 ~> c6989586621679538760)) -> Type) (a6989586621679538918 :: a6989586621679538758 ~> (b6989586621679538759 ~> c6989586621679538760)) = FlipSym1 a6989586621679538918

data FlipSym1 (a6989586621679538918 :: (~>) a6989586621679538758 ((~>) b6989586621679538759 c6989586621679538760)) :: (~>) b6989586621679538759 ((~>) a6989586621679538758 c6989586621679538760) #

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

Defined in Data.Singletons.Prelude.Base

Methods

sing :: Sing (FlipSym1 d) #

SuppressUnusedWarnings (FlipSym1 a6989586621679538918 :: TyFun b6989586621679538759 (a6989586621679538758 ~> c6989586621679538760) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (FlipSym1 a6989586621679538918 :: TyFun b6989586621679538759 (a6989586621679538758 ~> c6989586621679538760) -> Type) (a6989586621679538919 :: b6989586621679538759) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (FlipSym1 a6989586621679538918 :: TyFun b6989586621679538759 (a6989586621679538758 ~> c6989586621679538760) -> Type) (a6989586621679538919 :: b6989586621679538759) = FlipSym2 a6989586621679538918 a6989586621679538919

data FlipSym2 (a6989586621679538918 :: (~>) a6989586621679538758 ((~>) b6989586621679538759 c6989586621679538760)) (a6989586621679538919 :: b6989586621679538759) :: (~>) a6989586621679538758 c6989586621679538760 #

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

Defined in Data.Singletons.Prelude.Base

Methods

sing :: Sing (FlipSym2 d1 d2) #

SuppressUnusedWarnings (FlipSym2 a6989586621679538919 a6989586621679538918 :: TyFun a6989586621679538758 c6989586621679538760 -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (FlipSym2 a6989586621679538919 a6989586621679538918 :: TyFun a c -> Type) (a6989586621679538920 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (FlipSym2 a6989586621679538919 a6989586621679538918 :: TyFun a c -> Type) (a6989586621679538920 :: a) = Flip a6989586621679538919 a6989586621679538918 a6989586621679538920

type FlipSym3 (a6989586621679538918 :: (~>) a6989586621679538758 ((~>) b6989586621679538759 c6989586621679538760)) (a6989586621679538919 :: b6989586621679538759) (a6989586621679538920 :: a6989586621679538758) = Flip a6989586621679538918 a6989586621679538919 a6989586621679538920 #

data ($@#@$) :: forall a6989586621679538755 b6989586621679538756. (~>) ((~>) a6989586621679538755 b6989586621679538756) ((~>) a6989586621679538755 b6989586621679538756) infixr 0 #

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

Defined in Data.Singletons.Prelude.Base

Methods

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

SuppressUnusedWarnings (($@#@$) :: TyFun (a6989586621679538755 ~> b6989586621679538756) (a6989586621679538755 ~> b6989586621679538756) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (($@#@$) :: TyFun (a6989586621679538755 ~> b6989586621679538756) (a6989586621679538755 ~> b6989586621679538756) -> Type) (a6989586621679538912 :: a6989586621679538755 ~> b6989586621679538756) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (($@#@$) :: TyFun (a6989586621679538755 ~> b6989586621679538756) (a6989586621679538755 ~> b6989586621679538756) -> Type) (a6989586621679538912 :: a6989586621679538755 ~> b6989586621679538756) = ($@#@$$) a6989586621679538912

data ($@#@$$) (a6989586621679538912 :: (~>) a6989586621679538755 b6989586621679538756) :: (~>) a6989586621679538755 b6989586621679538756 infixr 0 #

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

Defined in Data.Singletons.Prelude.Base

Methods

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

SuppressUnusedWarnings (($@#@$$) a6989586621679538912 :: TyFun a6989586621679538755 b6989586621679538756 -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (($@#@$$) a6989586621679538912 :: TyFun a b -> Type) (a6989586621679538913 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (($@#@$$) a6989586621679538912 :: TyFun a b -> Type) (a6989586621679538913 :: a) = a6989586621679538912 $ a6989586621679538913

type ($@#@$$$) (a6989586621679538912 :: (~>) a6989586621679538755 b6989586621679538756) (a6989586621679538913 :: a6989586621679538755) = ($) a6989586621679538912 a6989586621679538913 #

data (&@#@$) :: forall a6989586621679750981 b6989586621679750982. (~>) a6989586621679750981 ((~>) ((~>) a6989586621679750981 b6989586621679750982) b6989586621679750982) infixl 1 #

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

Defined in Data.Singletons.Prelude.Function

Methods

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

SuppressUnusedWarnings ((&@#@$) :: TyFun a6989586621679750981 ((a6989586621679750981 ~> b6989586621679750982) ~> b6989586621679750982) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Function

type Apply ((&@#@$) :: TyFun a6989586621679750981 ((a6989586621679750981 ~> b6989586621679750982) ~> b6989586621679750982) -> Type) (a6989586621679750994 :: a6989586621679750981) # 
Instance details

Defined in Data.Singletons.Prelude.Function

type Apply ((&@#@$) :: TyFun a6989586621679750981 ((a6989586621679750981 ~> b6989586621679750982) ~> b6989586621679750982) -> Type) (a6989586621679750994 :: a6989586621679750981) = (a6989586621679750994 &@#@$$ b6989586621679750982 :: TyFun (a6989586621679750981 ~> b6989586621679750982) b6989586621679750982 -> Type)

data (&@#@$$) (a6989586621679750994 :: a6989586621679750981) :: forall b6989586621679750982. (~>) ((~>) a6989586621679750981 b6989586621679750982) b6989586621679750982 infixl 1 #

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

Defined in Data.Singletons.Prelude.Function

Methods

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

SuppressUnusedWarnings (a6989586621679750994 &@#@$$ b6989586621679750982 :: TyFun (a6989586621679750981 ~> b6989586621679750982) b6989586621679750982 -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Function

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

Defined in Data.Singletons.Prelude.Function

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

type (&@#@$$$) (a6989586621679750994 :: a6989586621679750981) (a6989586621679750995 :: (~>) a6989586621679750981 b6989586621679750982) = (&) a6989586621679750994 a6989586621679750995 #

data OnSym0 :: forall a6989586621679750985 b6989586621679750983 c6989586621679750984. (~>) ((~>) b6989586621679750983 ((~>) b6989586621679750983 c6989586621679750984)) ((~>) ((~>) a6989586621679750985 b6989586621679750983) ((~>) a6989586621679750985 ((~>) a6989586621679750985 c6989586621679750984))) infixl 0 #

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

Defined in Data.Singletons.Prelude.Function

Methods

sing :: Sing OnSym0 #

SuppressUnusedWarnings (OnSym0 :: TyFun (b6989586621679750983 ~> (b6989586621679750983 ~> c6989586621679750984)) ((a6989586621679750985 ~> b6989586621679750983) ~> (a6989586621679750985 ~> (a6989586621679750985 ~> c6989586621679750984))) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Function

type Apply (OnSym0 :: TyFun (b6989586621679750983 ~> (b6989586621679750983 ~> c6989586621679750984)) ((a6989586621679750985 ~> b6989586621679750983) ~> (a6989586621679750985 ~> (a6989586621679750985 ~> c6989586621679750984))) -> Type) (a6989586621679751000 :: b6989586621679750983 ~> (b6989586621679750983 ~> c6989586621679750984)) # 
Instance details

Defined in Data.Singletons.Prelude.Function

type Apply (OnSym0 :: TyFun (b6989586621679750983 ~> (b6989586621679750983 ~> c6989586621679750984)) ((a6989586621679750985 ~> b6989586621679750983) ~> (a6989586621679750985 ~> (a6989586621679750985 ~> c6989586621679750984))) -> Type) (a6989586621679751000 :: b6989586621679750983 ~> (b6989586621679750983 ~> c6989586621679750984)) = (OnSym1 a6989586621679751000 a6989586621679750985 :: TyFun (a6989586621679750985 ~> b6989586621679750983) (a6989586621679750985 ~> (a6989586621679750985 ~> c6989586621679750984)) -> Type)

data OnSym1 (a6989586621679751000 :: (~>) b6989586621679750983 ((~>) b6989586621679750983 c6989586621679750984)) :: forall a6989586621679750985. (~>) ((~>) a6989586621679750985 b6989586621679750983) ((~>) a6989586621679750985 ((~>) a6989586621679750985 c6989586621679750984)) infixl 0 #

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

Defined in Data.Singletons.Prelude.Function

Methods

sing :: Sing (OnSym1 d a) #

SuppressUnusedWarnings (OnSym1 a6989586621679751000 a6989586621679750985 :: TyFun (a6989586621679750985 ~> b6989586621679750983) (a6989586621679750985 ~> (a6989586621679750985 ~> c6989586621679750984)) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Function

type Apply (OnSym1 a6989586621679751000 a6989586621679750985 :: TyFun (a6989586621679750985 ~> b6989586621679750983) (a6989586621679750985 ~> (a6989586621679750985 ~> c6989586621679750984)) -> Type) (a6989586621679751001 :: a6989586621679750985 ~> b6989586621679750983) # 
Instance details

Defined in Data.Singletons.Prelude.Function

type Apply (OnSym1 a6989586621679751000 a6989586621679750985 :: TyFun (a6989586621679750985 ~> b6989586621679750983) (a6989586621679750985 ~> (a6989586621679750985 ~> c6989586621679750984)) -> Type) (a6989586621679751001 :: a6989586621679750985 ~> b6989586621679750983) = OnSym2 a6989586621679751000 a6989586621679751001

data OnSym2 (a6989586621679751000 :: (~>) b6989586621679750983 ((~>) b6989586621679750983 c6989586621679750984)) (a6989586621679751001 :: (~>) a6989586621679750985 b6989586621679750983) :: (~>) a6989586621679750985 ((~>) a6989586621679750985 c6989586621679750984) infixl 0 #

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

Defined in Data.Singletons.Prelude.Function

Methods

sing :: Sing (OnSym2 d1 d2) #

SuppressUnusedWarnings (OnSym2 a6989586621679751001 a6989586621679751000 :: TyFun a6989586621679750985 (a6989586621679750985 ~> c6989586621679750984) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Function

type Apply (OnSym2 a6989586621679751001 a6989586621679751000 :: TyFun a6989586621679750985 (a6989586621679750985 ~> c6989586621679750984) -> Type) (a6989586621679751002 :: a6989586621679750985) # 
Instance details

Defined in Data.Singletons.Prelude.Function

type Apply (OnSym2 a6989586621679751001 a6989586621679751000 :: TyFun a6989586621679750985 (a6989586621679750985 ~> c6989586621679750984) -> Type) (a6989586621679751002 :: a6989586621679750985) = OnSym3 a6989586621679751001 a6989586621679751000 a6989586621679751002

data OnSym3 (a6989586621679751000 :: (~>) b6989586621679750983 ((~>) b6989586621679750983 c6989586621679750984)) (a6989586621679751001 :: (~>) a6989586621679750985 b6989586621679750983) (a6989586621679751002 :: a6989586621679750985) :: (~>) a6989586621679750985 c6989586621679750984 infixl 0 #

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

Defined in Data.Singletons.Prelude.Function

Methods

sing :: Sing (OnSym3 d1 d2 d3) #

SuppressUnusedWarnings (OnSym3 a6989586621679751002 a6989586621679751001 a6989586621679751000 :: TyFun a6989586621679750985 c6989586621679750984 -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Function

type Apply (OnSym3 a6989586621679751002 a6989586621679751001 a6989586621679751000 :: TyFun a c -> Type) (a6989586621679751003 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Function

type Apply (OnSym3 a6989586621679751002 a6989586621679751001 a6989586621679751000 :: TyFun a c -> Type) (a6989586621679751003 :: a) = On a6989586621679751002 a6989586621679751001 a6989586621679751000 a6989586621679751003

type OnSym4 (a6989586621679751000 :: (~>) b6989586621679750983 ((~>) b6989586621679750983 c6989586621679750984)) (a6989586621679751001 :: (~>) a6989586621679750985 b6989586621679750983) (a6989586621679751002 :: a6989586621679750985) (a6989586621679751003 :: a6989586621679750985) = On a6989586621679751000 a6989586621679751001 a6989586621679751002 a6989586621679751003 #