| Copyright | (C) 2016 Richard Eisenberg |
|---|---|
| License | BSD-style (see LICENSE) |
| Maintainer | Ryan Scott |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.Function.Singletons
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 :: (~>) a a
- type family IdSym1 (a6989586621679274074 :: a) :: a where ...
- data ConstSym0 :: (~>) a ((~>) b a)
- data ConstSym1 (a6989586621679274069 :: a) :: (~>) b a
- type family ConstSym2 (a6989586621679274069 :: a) (a6989586621679274070 :: b) :: a where ...
- data (.@#@$) :: (~>) ((~>) b c) ((~>) ((~>) a b) ((~>) a c))
- data (.@#@$$) (a6989586621679274056 :: (~>) b c) :: (~>) ((~>) a b) ((~>) a c)
- data (a6989586621679274056 :: (~>) b c) .@#@$$$ (a6989586621679274057 :: (~>) a b) :: (~>) a c
- type family ((a6989586621679274056 :: (~>) b c) .@#@$$$$ (a6989586621679274057 :: (~>) a b)) (a6989586621679274058 :: a) :: c where ...
- data FlipSym0 :: (~>) ((~>) a ((~>) b c)) ((~>) b ((~>) a c))
- data FlipSym1 (a6989586621679274044 :: (~>) a ((~>) b c)) :: (~>) b ((~>) a c)
- data FlipSym2 (a6989586621679274044 :: (~>) a ((~>) b c)) (a6989586621679274045 :: b) :: (~>) a c
- type family FlipSym3 (a6989586621679274044 :: (~>) a ((~>) b c)) (a6989586621679274045 :: b) (a6989586621679274046 :: a) :: c where ...
- data ($@#@$) :: (~>) ((~>) a b) ((~>) a b)
- data ($@#@$$) (a6989586621679274025 :: (~>) a b) :: (~>) a b
- type family (a6989586621679274025 :: (~>) a b) $@#@$$$ (a6989586621679274026 :: a) :: b where ...
- data (&@#@$) :: (~>) a ((~>) ((~>) a b) b)
- data (&@#@$$) (a6989586621679298285 :: a) :: (~>) ((~>) a b) b
- type family (a6989586621679298285 :: a) &@#@$$$ (a6989586621679298286 :: (~>) a b) :: b where ...
- data OnSym0 :: (~>) ((~>) b ((~>) b c)) ((~>) ((~>) a b) ((~>) a ((~>) a c)))
- data OnSym1 (a6989586621679298298 :: (~>) b ((~>) b c)) :: (~>) ((~>) a b) ((~>) a ((~>) a c))
- data OnSym2 (a6989586621679298298 :: (~>) b ((~>) b c)) (a6989586621679298299 :: (~>) a b) :: (~>) a ((~>) a c)
- data OnSym3 (a6989586621679298298 :: (~>) b ((~>) b c)) (a6989586621679298299 :: (~>) a b) (a6989586621679298300 :: a) :: (~>) a c
- type family OnSym4 (a6989586621679298298 :: (~>) b ((~>) b c)) (a6989586621679298299 :: (~>) a b) (a6989586621679298300 :: a) (a6989586621679298301 :: a) :: c where ...
Prelude re-exports
sConst :: forall a b (t :: a) (t :: b). Sing t -> Sing t -> Sing (Apply (Apply ConstSym0 t) t :: a) Source #
(%.) :: 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 Source #
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) Source #
(%$) :: forall a b (t :: (~>) a b) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply ($@#@$) t) t :: b) infixr 0 Source #
Other combinators
(%&) :: forall a b (t :: a) (t :: (~>) a b). Sing t -> Sing t -> Sing (Apply (Apply (&@#@$) t) t :: b) infixl 1 Source #
type family On (a :: (~>) b ((~>) b c)) (a :: (~>) a b) (a :: a) (a :: a) :: c where ... infixl 0 Source #
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 Source #
Defunctionalization symbols
data ConstSym0 :: (~>) a ((~>) b a) Source #
Instances
| SingI (ConstSym0 :: TyFun a (b ~> a) -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings (ConstSym0 :: TyFun a (b ~> a) -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (ConstSym0 :: TyFun a (b ~> a) -> Type) (a6989586621679274069 :: a) Source # | |
data ConstSym1 (a6989586621679274069 :: a) :: (~>) b a Source #
Instances
| SingI d => SingI (ConstSym1 d :: TyFun b a -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings (ConstSym1 a6989586621679274069 :: TyFun b a -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (ConstSym1 a6989586621679274069 :: TyFun b a -> Type) (a6989586621679274070 :: b) Source # | |
type family ConstSym2 (a6989586621679274069 :: a) (a6989586621679274070 :: b) :: a where ... Source #
data (.@#@$) :: (~>) ((~>) b c) ((~>) ((~>) a b) ((~>) a c)) infixr 9 Source #
Instances
| SingI ((.@#@$) :: TyFun (b ~> c) ((a ~> b) ~> (a ~> c)) -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings ((.@#@$) :: TyFun (b ~> c) ((a ~> b) ~> (a ~> c)) -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply ((.@#@$) :: TyFun (b ~> c) ((a ~> b) ~> (a ~> c)) -> Type) (a6989586621679274056 :: b ~> c) Source # | |
data (.@#@$$) (a6989586621679274056 :: (~>) b c) :: (~>) ((~>) a b) ((~>) a c) infixr 9 Source #
Instances
| SingI d => SingI ((.@#@$$) d :: TyFun (a ~> b) (a ~> c) -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings ((.@#@$$) a6989586621679274056 :: TyFun (a ~> b) (a ~> c) -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply ((.@#@$$) a6989586621679274056 :: TyFun (a ~> b) (a ~> c) -> Type) (a6989586621679274057 :: a ~> b) Source # | |
data (a6989586621679274056 :: (~>) b c) .@#@$$$ (a6989586621679274057 :: (~>) a b) :: (~>) a c infixr 9 Source #
Instances
| (SingI d1, SingI d2) => SingI (d1 .@#@$$$ d2 :: TyFun a c -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings (a6989586621679274056 .@#@$$$ a6989586621679274057 :: TyFun a c -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (a6989586621679274056 .@#@$$$ a6989586621679274057 :: TyFun a c -> Type) (a6989586621679274058 :: a) Source # | |
type family ((a6989586621679274056 :: (~>) b c) .@#@$$$$ (a6989586621679274057 :: (~>) a b)) (a6989586621679274058 :: a) :: c where ... infixr 9 Source #
data FlipSym0 :: (~>) ((~>) a ((~>) b c)) ((~>) b ((~>) a c)) Source #
Instances
| SingI (FlipSym0 :: TyFun (a ~> (b ~> c)) (b ~> (a ~> c)) -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings (FlipSym0 :: TyFun (a ~> (b ~> c)) (b ~> (a ~> c)) -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (FlipSym0 :: TyFun (a ~> (b ~> c)) (b ~> (a ~> c)) -> Type) (a6989586621679274044 :: a ~> (b ~> c)) Source # | |
data FlipSym1 (a6989586621679274044 :: (~>) a ((~>) b c)) :: (~>) b ((~>) a c) Source #
Instances
| SingI d => SingI (FlipSym1 d :: TyFun b (a ~> c) -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings (FlipSym1 a6989586621679274044 :: TyFun b (a ~> c) -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (FlipSym1 a6989586621679274044 :: TyFun b (a ~> c) -> Type) (a6989586621679274045 :: b) Source # | |
data FlipSym2 (a6989586621679274044 :: (~>) a ((~>) b c)) (a6989586621679274045 :: b) :: (~>) a c Source #
Instances
| (SingI d1, SingI d2) => SingI (FlipSym2 d1 d2 :: TyFun a c -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings (FlipSym2 a6989586621679274044 a6989586621679274045 :: TyFun a c -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (FlipSym2 a6989586621679274044 a6989586621679274045 :: TyFun a c -> Type) (a6989586621679274046 :: a) Source # | |
type family FlipSym3 (a6989586621679274044 :: (~>) a ((~>) b c)) (a6989586621679274045 :: b) (a6989586621679274046 :: a) :: c where ... Source #
data ($@#@$) :: (~>) ((~>) a b) ((~>) a b) infixr 0 Source #
Instances
| SingI (($@#@$) :: TyFun (a ~> b) (a ~> b) -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings (($@#@$) :: TyFun (a ~> b) (a ~> b) -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (($@#@$) :: TyFun (a ~> b) (a ~> b) -> Type) (a6989586621679274025 :: a ~> b) Source # | |
data ($@#@$$) (a6989586621679274025 :: (~>) a b) :: (~>) a b infixr 0 Source #
Instances
| SingI d => SingI (($@#@$$) d :: TyFun a b -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings (($@#@$$) a6989586621679274025 :: TyFun a b -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (($@#@$$) a6989586621679274025 :: TyFun a b -> Type) (a6989586621679274026 :: a) Source # | |
type family (a6989586621679274025 :: (~>) a b) $@#@$$$ (a6989586621679274026 :: a) :: b where ... infixr 0 Source #
data (&@#@$) :: (~>) a ((~>) ((~>) a b) b) infixl 1 Source #
Instances
| SingI ((&@#@$) :: TyFun a ((a ~> b) ~> b) -> Type) Source # | |
Defined in Data.Function.Singletons | |
| SuppressUnusedWarnings ((&@#@$) :: TyFun a ((a ~> b) ~> b) -> Type) Source # | |
Defined in Data.Function.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply ((&@#@$) :: TyFun a ((a ~> b) ~> b) -> Type) (a6989586621679298285 :: a) Source # | |
data (&@#@$$) (a6989586621679298285 :: a) :: (~>) ((~>) a b) b infixl 1 Source #
Instances
| SingI d => SingI ((&@#@$$) d :: TyFun (a ~> b) b -> Type) Source # | |
Defined in Data.Function.Singletons | |
| SuppressUnusedWarnings ((&@#@$$) a6989586621679298285 :: TyFun (a ~> b) b -> Type) Source # | |
Defined in Data.Function.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply ((&@#@$$) a6989586621679298285 :: TyFun (a ~> b) b -> Type) (a6989586621679298286 :: a ~> b) Source # | |
type family (a6989586621679298285 :: a) &@#@$$$ (a6989586621679298286 :: (~>) a b) :: b where ... infixl 1 Source #
data OnSym0 :: (~>) ((~>) b ((~>) b c)) ((~>) ((~>) a b) ((~>) a ((~>) a c))) infixl 0 Source #
Instances
| SingI (OnSym0 :: TyFun (b ~> (b ~> c)) ((a ~> b) ~> (a ~> (a ~> c))) -> Type) Source # | |
Defined in Data.Function.Singletons | |
| SuppressUnusedWarnings (OnSym0 :: TyFun (b ~> (b ~> c)) ((a ~> b) ~> (a ~> (a ~> c))) -> Type) Source # | |
Defined in Data.Function.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (OnSym0 :: TyFun (b ~> (b ~> c)) ((a ~> b) ~> (a ~> (a ~> c))) -> Type) (a6989586621679298298 :: b ~> (b ~> c)) Source # | |
data OnSym1 (a6989586621679298298 :: (~>) b ((~>) b c)) :: (~>) ((~>) a b) ((~>) a ((~>) a c)) infixl 0 Source #
Instances
| SingI d => SingI (OnSym1 d :: TyFun (a ~> b) (a ~> (a ~> c)) -> Type) Source # | |
Defined in Data.Function.Singletons | |
| SuppressUnusedWarnings (OnSym1 a6989586621679298298 :: TyFun (a ~> b) (a ~> (a ~> c)) -> Type) Source # | |
Defined in Data.Function.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (OnSym1 a6989586621679298298 :: TyFun (a ~> b) (a ~> (a ~> c)) -> Type) (a6989586621679298299 :: a ~> b) Source # | |
data OnSym2 (a6989586621679298298 :: (~>) b ((~>) b c)) (a6989586621679298299 :: (~>) a b) :: (~>) a ((~>) a c) infixl 0 Source #
Instances
| (SingI d1, SingI d2) => SingI (OnSym2 d1 d2 :: TyFun a (a ~> c) -> Type) Source # | |
Defined in Data.Function.Singletons | |
| SuppressUnusedWarnings (OnSym2 a6989586621679298298 a6989586621679298299 :: TyFun a (a ~> c) -> Type) Source # | |
Defined in Data.Function.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (OnSym2 a6989586621679298298 a6989586621679298299 :: TyFun a (a ~> c) -> Type) (a6989586621679298300 :: a) Source # | |
data OnSym3 (a6989586621679298298 :: (~>) b ((~>) b c)) (a6989586621679298299 :: (~>) a b) (a6989586621679298300 :: a) :: (~>) a c infixl 0 Source #
Instances
| (SingI d1, SingI d2, SingI d3) => SingI (OnSym3 d1 d2 d3 :: TyFun a c -> Type) Source # | |
Defined in Data.Function.Singletons | |
| SuppressUnusedWarnings (OnSym3 a6989586621679298298 a6989586621679298299 a6989586621679298300 :: TyFun a c -> Type) Source # | |
Defined in Data.Function.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (OnSym3 a6989586621679298298 a6989586621679298299 a6989586621679298300 :: TyFun a c -> Type) (a6989586621679298301 :: a) Source # | |