| Copyright | (C) 2016 Richard Eisenberg |
|---|---|
| License | BSD-style (see LICENSE) |
| Maintainer | Ryan Scott |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | None |
| Language | GHC2021 |
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 (a1 :: a) :: a where ...
- sId :: forall a (t :: a). Sing t -> Sing (Apply (IdSym0 :: TyFun a a -> Type) t)
- type family Const (a1 :: a) (a2 :: b) :: a where ...
- sConst :: forall a b (t1 :: a) (t2 :: b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (ConstSym0 :: TyFun a (b ~> a) -> Type) 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 (Apply (Apply (Apply ((.@#@$) :: TyFun (b ~> c) ((a ~> b) ~> (a ~> c)) -> Type) 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 (Apply (Apply (Apply (FlipSym0 :: TyFun (a ~> (b ~> c)) (b ~> (a ~> c)) -> Type) 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 (Apply (Apply (($@#@$) :: TyFun (a ~> b) (a ~> b) -> Type) t1) t2)
- type family (a1 :: a) & (a2 :: a ~> b) :: b where ...
- (%&) :: forall a b (t1 :: a) (t2 :: a ~> b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((&@#@$) :: TyFun a ((a ~> b) ~> b) -> Type) 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 (Apply (Apply (Apply (Apply (OnSym0 :: TyFun (b ~> (b ~> c)) ((a ~> b) ~> (a ~> (a ~> c))) -> Type) t1) t2) t3) t4)
- data IdSym0 (a1 :: TyFun a a)
- type family IdSym1 (a6989586621679180225 :: a) :: a where ...
- data ConstSym0 (a1 :: TyFun a (b ~> a))
- data ConstSym1 (a6989586621679180220 :: a) (b1 :: TyFun b a)
- type family ConstSym2 (a6989586621679180220 :: a) (a6989586621679180221 :: b) :: a where ...
- data (.@#@$) (a1 :: TyFun (b ~> c) ((a ~> b) ~> (a ~> c)))
- data (a6989586621679180207 :: b ~> c) .@#@$$ (b1 :: TyFun (a ~> b) (a ~> c))
- data ((a6989586621679180207 :: b ~> c) .@#@$$$ (a6989586621679180208 :: a ~> b)) (c1 :: TyFun a c)
- type family ((a6989586621679180207 :: b ~> c) .@#@$$$$ (a6989586621679180208 :: a ~> b)) (a6989586621679180209 :: a) :: c where ...
- data FlipSym0 (a1 :: TyFun (a ~> (b ~> c)) (b ~> (a ~> c)))
- data FlipSym1 (a6989586621679180195 :: a ~> (b ~> c)) (b1 :: TyFun b (a ~> c))
- data FlipSym2 (a6989586621679180195 :: a ~> (b ~> c)) (a6989586621679180196 :: b) (c1 :: TyFun a c)
- type family FlipSym3 (a6989586621679180195 :: a ~> (b ~> c)) (a6989586621679180196 :: b) (a6989586621679180197 :: a) :: c where ...
- data ($@#@$) (a1 :: TyFun (a ~> b) (a ~> b))
- data (a6989586621679180176 :: a ~> b) $@#@$$ (b1 :: TyFun a b)
- type family (a6989586621679180176 :: a ~> b) $@#@$$$ (a6989586621679180177 :: a) :: b where ...
- data (&@#@$) (a1 :: TyFun a ((a ~> b) ~> b))
- data (a6989586621679327005 :: a) &@#@$$ (b1 :: TyFun (a ~> b) b)
- type family (a6989586621679327005 :: a) &@#@$$$ (a6989586621679327006 :: a ~> b) :: b where ...
- data OnSym0 (a1 :: TyFun (b ~> (b ~> c)) ((a ~> b) ~> (a ~> (a ~> c))))
- data OnSym1 (a6989586621679327018 :: b ~> (b ~> c)) (b1 :: TyFun (a ~> b) (a ~> (a ~> c)))
- data OnSym2 (a6989586621679327018 :: b ~> (b ~> c)) (a6989586621679327019 :: a ~> b) (c1 :: TyFun a (a ~> c))
- data OnSym3 (a6989586621679327018 :: b ~> (b ~> c)) (a6989586621679327019 :: a ~> b) (a6989586621679327020 :: a) (d :: TyFun a c)
- type family OnSym4 (a6989586621679327018 :: b ~> (b ~> c)) (a6989586621679327019 :: a ~> b) (a6989586621679327020 :: a) (a6989586621679327021 :: a) :: c where ...
Prelude re-exports
sConst :: forall a b (t1 :: a) (t2 :: b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (ConstSym0 :: TyFun a (b ~> a) -> Type) t1) t2) Source #
(%.) :: forall b c a (t1 :: b ~> c) (t2 :: a ~> b) (t3 :: a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply ((.@#@$) :: TyFun (b ~> c) ((a ~> b) ~> (a ~> c)) -> Type) t1) t2) t3) infixr 9 Source #
sFlip :: forall a b c (t1 :: a ~> (b ~> c)) (t2 :: b) (t3 :: a). Sing t1 -> Sing t2 -> Sing t3 -> Sing (Apply (Apply (Apply (FlipSym0 :: TyFun (a ~> (b ~> c)) (b ~> (a ~> c)) -> Type) t1) t2) t3) Source #
(%$) :: forall a b (t1 :: a ~> b) (t2 :: a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (($@#@$) :: TyFun (a ~> b) (a ~> b) -> Type) t1) t2) infixr 0 Source #
Other combinators
(%&) :: forall a b (t1 :: a) (t2 :: a ~> b). Sing t1 -> Sing t2 -> Sing (Apply (Apply ((&@#@$) :: TyFun a ((a ~> b) ~> b) -> Type) 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 :: k2 ~> (k2 ~> k3)) (f :: k4 ~> k2) (a_6989586621679327009 :: k4) (a_6989586621679327011 :: k4) = Apply (Apply (Apply (Apply (Apply (Apply (Lambda_6989586621679327026Sym0 :: TyFun (k2 ~> (k2 ~> k3)) (TyFun (k4 ~> k2) (TyFun k4 (TyFun k4 (TyFun k4 (TyFun k4 k3 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) ty) f) a_6989586621679327009) a_6989586621679327011) a_6989586621679327009) a_6989586621679327011 |
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 (Apply (Apply (Apply (Apply (OnSym0 :: TyFun (b ~> (b ~> c)) ((a ~> b) ~> (a ~> (a ~> c))) -> Type) t1) t2) t3) t4) infixl 0 Source #
Defunctionalization symbols
data ConstSym1 (a6989586621679180220 :: a) (b1 :: TyFun b a) Source #
Instances
| SingI1 (ConstSym1 :: a -> TyFun b a -> Type) Source # | |
| SingI d => SingI (ConstSym1 d :: TyFun b a -> Type) Source # | |
| SuppressUnusedWarnings (ConstSym1 a6989586621679180220 :: TyFun b a -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (ConstSym1 a6989586621679180220 :: TyFun b a -> Type) (a6989586621679180221 :: b) Source # | |
type family ConstSym2 (a6989586621679180220 :: a) (a6989586621679180221 :: b) :: a where ... Source #
data (.@#@$) (a1 :: TyFun (b ~> c) ((a ~> b) ~> (a ~> c))) infixr 9 Source #
Instances
| SingI ((.@#@$) :: TyFun (b ~> c) ((a ~> b) ~> (a ~> c)) -> Type) Source # | |
| 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) (a6989586621679180207 :: b ~> c) Source # | |
data (a6989586621679180207 :: b ~> c) .@#@$$ (b1 :: TyFun (a ~> b) (a ~> c)) infixr 9 Source #
Instances
| SingI1 ((.@#@$$) :: (b ~> c) -> TyFun (a ~> b) (a ~> c) -> Type) Source # | |
| SingI d => SingI ((.@#@$$) d :: TyFun (a ~> b) (a ~> c) -> Type) Source # | |
| SuppressUnusedWarnings ((.@#@$$) a6989586621679180207 :: TyFun (a ~> b) (a ~> c) -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply ((.@#@$$) a6989586621679180207 :: TyFun (a ~> b) (a ~> c) -> Type) (a6989586621679180208 :: a ~> b) Source # | |
data ((a6989586621679180207 :: b ~> c) .@#@$$$ (a6989586621679180208 :: a ~> b)) (c1 :: TyFun a c) infixr 9 Source #
Instances
| SingI2 ((.@#@$$$) :: (b ~> c) -> (a ~> b) -> TyFun a c -> Type) Source # | |
| SingI d => SingI1 ((.@#@$$$) d :: (a ~> b) -> TyFun a c -> Type) Source # | |
| (SingI d1, SingI d2) => SingI (d1 .@#@$$$ d2 :: TyFun a c -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings (a6989586621679180207 .@#@$$$ a6989586621679180208 :: TyFun a c -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (a6989586621679180207 .@#@$$$ a6989586621679180208 :: TyFun a c -> Type) (a6989586621679180209 :: a) Source # | |
type family ((a6989586621679180207 :: b ~> c) .@#@$$$$ (a6989586621679180208 :: a ~> b)) (a6989586621679180209 :: a) :: c where ... infixr 9 Source #
data FlipSym0 (a1 :: TyFun (a ~> (b ~> c)) (b ~> (a ~> c))) Source #
Instances
| SingI (FlipSym0 :: TyFun (a ~> (b ~> c)) (b ~> (a ~> c)) -> Type) Source # | |
| 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) (a6989586621679180195 :: a ~> (b ~> c)) Source # | |
data FlipSym1 (a6989586621679180195 :: a ~> (b ~> c)) (b1 :: TyFun b (a ~> c)) Source #
Instances
| SingI1 (FlipSym1 :: (a ~> (b ~> c)) -> TyFun b (a ~> c) -> Type) Source # | |
| SingI d => SingI (FlipSym1 d :: TyFun b (a ~> c) -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings (FlipSym1 a6989586621679180195 :: TyFun b (a ~> c) -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (FlipSym1 a6989586621679180195 :: TyFun b (a ~> c) -> Type) (a6989586621679180196 :: b) Source # | |
data FlipSym2 (a6989586621679180195 :: a ~> (b ~> c)) (a6989586621679180196 :: b) (c1 :: TyFun a c) Source #
Instances
| SingI d => SingI1 (FlipSym2 d :: b -> TyFun a c -> Type) Source # | |
| SingI2 (FlipSym2 :: (a ~> (b ~> c)) -> b -> TyFun a c -> Type) Source # | |
| (SingI d1, SingI d2) => SingI (FlipSym2 d1 d2 :: TyFun a c -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings (FlipSym2 a6989586621679180195 a6989586621679180196 :: TyFun a c -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (FlipSym2 a6989586621679180195 a6989586621679180196 :: TyFun a c -> Type) (a6989586621679180197 :: a) Source # | |
type family FlipSym3 (a6989586621679180195 :: a ~> (b ~> c)) (a6989586621679180196 :: b) (a6989586621679180197 :: a) :: c where ... Source #
data ($@#@$) (a1 :: TyFun (a ~> b) (a ~> b)) infixr 0 Source #
Instances
| SingI (($@#@$) :: TyFun (a ~> b) (a ~> b) -> Type) Source # | |
| SuppressUnusedWarnings (($@#@$) :: TyFun (a ~> b) (a ~> b) -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (($@#@$) :: TyFun (a ~> b) (a ~> b) -> Type) (a6989586621679180176 :: a ~> b) Source # | |
data (a6989586621679180176 :: a ~> b) $@#@$$ (b1 :: TyFun a b) infixr 0 Source #
Instances
| SingI1 (($@#@$$) :: (a ~> b) -> TyFun a b -> Type) Source # | |
| SingI d => SingI (($@#@$$) d :: TyFun a b -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings (($@#@$$) a6989586621679180176 :: TyFun a b -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (($@#@$$) a6989586621679180176 :: TyFun a b -> Type) (a6989586621679180177 :: a) Source # | |
type family (a6989586621679180176 :: a ~> b) $@#@$$$ (a6989586621679180177 :: a) :: b where ... infixr 0 Source #
data (&@#@$) (a1 :: TyFun a ((a ~> b) ~> b)) infixl 1 Source #
Instances
| SingI ((&@#@$) :: TyFun a ((a ~> b) ~> b) -> Type) Source # | |
| SuppressUnusedWarnings ((&@#@$) :: TyFun a ((a ~> b) ~> b) -> Type) Source # | |
Defined in Data.Function.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply ((&@#@$) :: TyFun a ((a ~> b) ~> b) -> Type) (a6989586621679327005 :: a) Source # | |
data (a6989586621679327005 :: a) &@#@$$ (b1 :: TyFun (a ~> b) b) infixl 1 Source #
Instances
| SingI1 ((&@#@$$) :: a -> TyFun (a ~> b) b -> Type) Source # | |
| SingI d => SingI ((&@#@$$) d :: TyFun (a ~> b) b -> Type) Source # | |
| SuppressUnusedWarnings ((&@#@$$) a6989586621679327005 :: TyFun (a ~> b) b -> Type) Source # | |
Defined in Data.Function.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply ((&@#@$$) a6989586621679327005 :: TyFun (a ~> b) b -> Type) (a6989586621679327006 :: a ~> b) Source # | |
type family (a6989586621679327005 :: a) &@#@$$$ (a6989586621679327006 :: a ~> b) :: b where ... infixl 1 Source #
data OnSym0 (a1 :: TyFun (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 # | |
| 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) (a6989586621679327018 :: b ~> (b ~> c)) Source # | |
data OnSym1 (a6989586621679327018 :: b ~> (b ~> c)) (b1 :: TyFun (a ~> b) (a ~> (a ~> c))) infixl 0 Source #
Instances
| SingI1 (OnSym1 :: (b ~> (b ~> c)) -> TyFun (a ~> b) (a ~> (a ~> c)) -> Type) Source # | |
| SingI d => SingI (OnSym1 d :: TyFun (a ~> b) (a ~> (a ~> c)) -> Type) Source # | |
| SuppressUnusedWarnings (OnSym1 a6989586621679327018 :: TyFun (a ~> b) (a ~> (a ~> c)) -> Type) Source # | |
Defined in Data.Function.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (OnSym1 a6989586621679327018 :: TyFun (a ~> b) (a ~> (a ~> c)) -> Type) (a6989586621679327019 :: a ~> b) Source # | |
data OnSym2 (a6989586621679327018 :: b ~> (b ~> c)) (a6989586621679327019 :: a ~> b) (c1 :: TyFun a (a ~> c)) infixl 0 Source #
Instances
| SingI2 (OnSym2 :: (b ~> (b ~> c)) -> (a ~> b) -> TyFun a (a ~> c) -> Type) Source # | |
| SingI d => SingI1 (OnSym2 d :: (a ~> b) -> TyFun a (a ~> c) -> Type) Source # | |
| (SingI d1, SingI d2) => SingI (OnSym2 d1 d2 :: TyFun a (a ~> c) -> Type) Source # | |
Defined in Data.Function.Singletons | |
| SuppressUnusedWarnings (OnSym2 a6989586621679327018 a6989586621679327019 :: TyFun a (a ~> c) -> Type) Source # | |
Defined in Data.Function.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (OnSym2 a6989586621679327018 a6989586621679327019 :: TyFun a (a ~> c) -> Type) (a6989586621679327020 :: a) Source # | |
data OnSym3 (a6989586621679327018 :: b ~> (b ~> c)) (a6989586621679327019 :: a ~> b) (a6989586621679327020 :: a) (d :: TyFun a c) infixl 0 Source #
Instances
| (SingI d1, SingI d2) => SingI1 (OnSym3 d1 d2 :: a -> TyFun a c -> Type) Source # | |
| SingI d => SingI2 (OnSym3 d :: (a ~> b) -> a -> TyFun a c -> Type) Source # | |
| (SingI d1, SingI d2, SingI d3) => SingI (OnSym3 d1 d2 d3 :: TyFun a c -> Type) Source # | |
Defined in Data.Function.Singletons | |
| SuppressUnusedWarnings (OnSym3 a6989586621679327018 a6989586621679327019 a6989586621679327020 :: TyFun a c -> Type) Source # | |
Defined in Data.Function.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (OnSym3 a6989586621679327018 a6989586621679327019 a6989586621679327020 :: TyFun a c -> Type) (a6989586621679327021 :: a) Source # | |