| 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 (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
(%.) :: 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 #
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 #
Other combinators
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 ConstSym1 (a6989586621679154354 :: 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 a6989586621679154354 :: TyFun b a -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (ConstSym1 a6989586621679154354 :: TyFun b a -> Type) (a6989586621679154355 :: b) Source # | |
type family ConstSym2 (a6989586621679154354 :: a) (a6989586621679154355 :: 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) (a6989586621679154339 :: b ~> c) Source # | |
data (a6989586621679154339 :: 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 ((.@#@$$) a6989586621679154339 :: TyFun (a ~> b) (a ~> c) -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply ((.@#@$$) a6989586621679154339 :: TyFun (a ~> b) (a ~> c) -> Type) (a6989586621679154340 :: a ~> b) Source # | |
data ((a6989586621679154339 :: b ~> c) .@#@$$$ (a6989586621679154340 :: 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 (a6989586621679154339 .@#@$$$ a6989586621679154340 :: TyFun a c -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (a6989586621679154339 .@#@$$$ a6989586621679154340 :: TyFun a c -> Type) (a6989586621679154341 :: a) Source # | |
type family ((a6989586621679154339 :: b ~> c) .@#@$$$$ (a6989586621679154340 :: a ~> b)) (a6989586621679154341 :: 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) (a6989586621679154327 :: a ~> (b ~> c)) Source # | |
data FlipSym1 (a6989586621679154327 :: 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 a6989586621679154327 :: TyFun b (a ~> c) -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (FlipSym1 a6989586621679154327 :: TyFun b (a ~> c) -> Type) (a6989586621679154328 :: b) Source # | |
data FlipSym2 (a6989586621679154327 :: a ~> (b ~> c)) (a6989586621679154328 :: 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 a6989586621679154327 a6989586621679154328 :: TyFun a c -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (FlipSym2 a6989586621679154327 a6989586621679154328 :: TyFun a c -> Type) (a6989586621679154329 :: a) Source # | |
type family FlipSym3 (a6989586621679154327 :: a ~> (b ~> c)) (a6989586621679154328 :: b) (a6989586621679154329 :: 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) (a6989586621679154308 :: a ~> b) Source # | |
data (a6989586621679154308 :: 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 (($@#@$$) a6989586621679154308 :: TyFun a b -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (($@#@$$) a6989586621679154308 :: TyFun a b -> Type) (a6989586621679154309 :: a) Source # | |
type family (a6989586621679154308 :: a ~> b) $@#@$$$ (a6989586621679154309 :: 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) (a6989586621679253960 :: a) Source # | |
data (a6989586621679253960 :: 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 ((&@#@$$) a6989586621679253960 :: TyFun (a ~> b) b -> Type) Source # | |
Defined in Data.Function.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply ((&@#@$$) a6989586621679253960 :: TyFun (a ~> b) b -> Type) (a6989586621679253961 :: a ~> b) Source # | |
type family (a6989586621679253960 :: a) &@#@$$$ (a6989586621679253961 :: 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) (a6989586621679253973 :: b ~> (b ~> c)) Source # | |
data OnSym1 (a6989586621679253973 :: 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 a6989586621679253973 :: TyFun (a ~> b) (a ~> (a ~> c)) -> Type) Source # | |
Defined in Data.Function.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (OnSym1 a6989586621679253973 :: TyFun (a ~> b) (a ~> (a ~> c)) -> Type) (a6989586621679253974 :: a ~> b) Source # | |
data OnSym2 (a6989586621679253973 :: b ~> (b ~> c)) (a6989586621679253974 :: 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 a6989586621679253973 a6989586621679253974 :: TyFun a (a ~> c) -> Type) Source # | |
Defined in Data.Function.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (OnSym2 a6989586621679253973 a6989586621679253974 :: TyFun a (a ~> c) -> Type) (a6989586621679253975 :: a) Source # | |
data OnSym3 (a6989586621679253973 :: b ~> (b ~> c)) (a6989586621679253974 :: a ~> b) (a6989586621679253975 :: 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 a6989586621679253973 a6989586621679253974 a6989586621679253975 :: TyFun a c -> Type) Source # | |
Defined in Data.Function.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (OnSym3 a6989586621679253973 a6989586621679253974 a6989586621679253975 :: TyFun a c -> Type) (a6989586621679253976 :: a) Source # | |