| Copyright | (C) 2016 Richard Eisenberg |
|---|---|
| License | BSD-style (see LICENSE) |
| Maintainer | Ryan Scott |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | Safe-Inferred |
| 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 (a6989586621679287767 :: a) :: a where ...
- data ConstSym0 :: (~>) a ((~>) b a)
- data ConstSym1 (a6989586621679287762 :: a) :: (~>) b a
- type family ConstSym2 (a6989586621679287762 :: a) (a6989586621679287763 :: b) :: a where ...
- data (.@#@$) :: (~>) ((~>) b c) ((~>) ((~>) a b) ((~>) a c))
- data (.@#@$$) (a6989586621679287749 :: (~>) b c) :: (~>) ((~>) a b) ((~>) a c)
- data (a6989586621679287749 :: (~>) b c) .@#@$$$ (a6989586621679287750 :: (~>) a b) :: (~>) a c
- type family ((a6989586621679287749 :: (~>) b c) .@#@$$$$ (a6989586621679287750 :: (~>) a b)) (a6989586621679287751 :: a) :: c where ...
- data FlipSym0 :: (~>) ((~>) a ((~>) b c)) ((~>) b ((~>) a c))
- data FlipSym1 (a6989586621679287737 :: (~>) a ((~>) b c)) :: (~>) b ((~>) a c)
- data FlipSym2 (a6989586621679287737 :: (~>) a ((~>) b c)) (a6989586621679287738 :: b) :: (~>) a c
- type family FlipSym3 (a6989586621679287737 :: (~>) a ((~>) b c)) (a6989586621679287738 :: b) (a6989586621679287739 :: a) :: c where ...
- data ($@#@$) :: (~>) ((~>) a b) ((~>) a b)
- data ($@#@$$) (a6989586621679287718 :: (~>) a b) :: (~>) a b
- type family (a6989586621679287718 :: (~>) a b) $@#@$$$ (a6989586621679287719 :: a) :: b where ...
- data (&@#@$) :: (~>) a ((~>) ((~>) a b) b)
- data (&@#@$$) (a6989586621679314562 :: a) :: (~>) ((~>) a b) b
- type family (a6989586621679314562 :: a) &@#@$$$ (a6989586621679314563 :: (~>) a b) :: b where ...
- data OnSym0 :: (~>) ((~>) b ((~>) b c)) ((~>) ((~>) a b) ((~>) a ((~>) a c)))
- data OnSym1 (a6989586621679314575 :: (~>) b ((~>) b c)) :: (~>) ((~>) a b) ((~>) a ((~>) a c))
- data OnSym2 (a6989586621679314575 :: (~>) b ((~>) b c)) (a6989586621679314576 :: (~>) a b) :: (~>) a ((~>) a c)
- data OnSym3 (a6989586621679314575 :: (~>) b ((~>) b c)) (a6989586621679314576 :: (~>) a b) (a6989586621679314577 :: a) :: (~>) a c
- type family OnSym4 (a6989586621679314575 :: (~>) b ((~>) b c)) (a6989586621679314576 :: (~>) a b) (a6989586621679314577 :: a) (a6989586621679314578 :: 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 #
type family ((a :: (~>) b c) . (a :: (~>) a b)) (a :: a) :: c where ... infixr 9 Source #
Equations
| (f . g) a_6989586621679287743 = Apply (Apply (Apply (Apply Lambda_6989586621679287755Sym0 f) g) a_6989586621679287743) a_6989586621679287743 |
(%.) :: 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 #
type family Flip (a :: (~>) a ((~>) b c)) (a :: b) (a :: a) :: c where ... Source #
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) 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 #
Equations
| On ty f a_6989586621679314566 a_6989586621679314568 = Apply (Apply (Apply (Apply (Apply (Apply Lambda_6989586621679314583Sym0 ty) f) a_6989586621679314566) a_6989586621679314568) a_6989586621679314566) a_6989586621679314568 |
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 IdSym0 :: (~>) a a Source #
Instances
| SingI (IdSym0 :: TyFun a a -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings (IdSym0 :: TyFun a a -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (IdSym0 :: TyFun a a -> Type) (a6989586621679287767 :: a) Source # | |
Defined in GHC.Base.Singletons | |
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) (a6989586621679287762 :: a) Source # | |
Defined in GHC.Base.Singletons | |
data ConstSym1 (a6989586621679287762 :: a) :: (~>) b a Source #
Instances
| SingI1 (ConstSym1 :: a -> TyFun b a -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SingI d => SingI (ConstSym1 d :: TyFun b a -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings (ConstSym1 a6989586621679287762 :: TyFun b a -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (ConstSym1 a6989586621679287762 :: TyFun b a -> Type) (a6989586621679287763 :: b) Source # | |
Defined in GHC.Base.Singletons | |
type family ConstSym2 (a6989586621679287762 :: a) (a6989586621679287763 :: 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) (a6989586621679287749 :: b ~> c) Source # | |
Defined in GHC.Base.Singletons | |
data (.@#@$$) (a6989586621679287749 :: (~>) b c) :: (~>) ((~>) a b) ((~>) a c) infixr 9 Source #
Instances
| SingI1 ((.@#@$$) :: (b ~> c) -> TyFun (a ~> b) (a ~> c) -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SingI d => SingI ((.@#@$$) d :: TyFun (a ~> b) (a ~> c) -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings ((.@#@$$) a6989586621679287749 :: TyFun (a ~> b) (a ~> c) -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply ((.@#@$$) a6989586621679287749 :: TyFun (a ~> b) (a ~> c) -> Type) (a6989586621679287750 :: a ~> b) Source # | |
Defined in GHC.Base.Singletons | |
data (a6989586621679287749 :: (~>) b c) .@#@$$$ (a6989586621679287750 :: (~>) a b) :: (~>) 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 # | |
Defined in GHC.Base.Singletons | |
| (SingI d1, SingI d2) => SingI (d1 .@#@$$$ d2 :: TyFun a c -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings (a6989586621679287749 .@#@$$$ a6989586621679287750 :: TyFun a c -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (a6989586621679287749 .@#@$$$ a6989586621679287750 :: TyFun a c -> Type) (a6989586621679287751 :: a) Source # | |
Defined in GHC.Base.Singletons | |
type family ((a6989586621679287749 :: (~>) b c) .@#@$$$$ (a6989586621679287750 :: (~>) a b)) (a6989586621679287751 :: 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) (a6989586621679287737 :: a ~> (b ~> c)) Source # | |
Defined in GHC.Base.Singletons | |
data FlipSym1 (a6989586621679287737 :: (~>) a ((~>) b c)) :: (~>) b ((~>) a c) Source #
Instances
| SingI1 (FlipSym1 :: (a ~> (b ~> c)) -> TyFun b (a ~> c) -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SingI d => SingI (FlipSym1 d :: TyFun b (a ~> c) -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings (FlipSym1 a6989586621679287737 :: TyFun b (a ~> c) -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (FlipSym1 a6989586621679287737 :: TyFun b (a ~> c) -> Type) (a6989586621679287738 :: b) Source # | |
Defined in GHC.Base.Singletons | |
data FlipSym2 (a6989586621679287737 :: (~>) a ((~>) b c)) (a6989586621679287738 :: b) :: (~>) a c Source #
Instances
| SingI d => SingI1 (FlipSym2 d :: b -> TyFun a c -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| 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 a6989586621679287737 a6989586621679287738 :: TyFun a c -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (FlipSym2 a6989586621679287737 a6989586621679287738 :: TyFun a c -> Type) (a6989586621679287739 :: a) Source # | |
Defined in GHC.Base.Singletons | |
type family FlipSym3 (a6989586621679287737 :: (~>) a ((~>) b c)) (a6989586621679287738 :: b) (a6989586621679287739 :: 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) (a6989586621679287718 :: a ~> b) Source # | |
Defined in GHC.Base.Singletons | |
data ($@#@$$) (a6989586621679287718 :: (~>) a b) :: (~>) a b infixr 0 Source #
Instances
| SingI1 (($@#@$$) :: (a ~> b) -> TyFun a b -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SingI d => SingI (($@#@$$) d :: TyFun a b -> Type) Source # | |
Defined in GHC.Base.Singletons | |
| SuppressUnusedWarnings (($@#@$$) a6989586621679287718 :: TyFun a b -> Type) Source # | |
Defined in GHC.Base.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (($@#@$$) a6989586621679287718 :: TyFun a b -> Type) (a6989586621679287719 :: a) Source # | |
Defined in GHC.Base.Singletons | |
type family (a6989586621679287718 :: (~>) a b) $@#@$$$ (a6989586621679287719 :: 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) (a6989586621679314562 :: a) Source # | |
Defined in Data.Function.Singletons | |
data (&@#@$$) (a6989586621679314562 :: a) :: (~>) ((~>) a b) b infixl 1 Source #
Instances
| SingI1 ((&@#@$$) :: a -> TyFun (a ~> b) b -> Type) Source # | |
Defined in Data.Function.Singletons | |
| SingI d => SingI ((&@#@$$) d :: TyFun (a ~> b) b -> Type) Source # | |
Defined in Data.Function.Singletons | |
| SuppressUnusedWarnings ((&@#@$$) a6989586621679314562 :: TyFun (a ~> b) b -> Type) Source # | |
Defined in Data.Function.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply ((&@#@$$) a6989586621679314562 :: TyFun (a ~> b) b -> Type) (a6989586621679314563 :: a ~> b) Source # | |
Defined in Data.Function.Singletons | |
type family (a6989586621679314562 :: a) &@#@$$$ (a6989586621679314563 :: (~>) 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) (a6989586621679314575 :: b ~> (b ~> c)) Source # | |
Defined in Data.Function.Singletons | |
data OnSym1 (a6989586621679314575 :: (~>) b ((~>) b c)) :: (~>) ((~>) a b) ((~>) a ((~>) a c)) infixl 0 Source #
Instances
| SingI1 (OnSym1 :: (b ~> (b ~> c)) -> TyFun (a ~> b) (a ~> (a ~> c)) -> Type) Source # | |
Defined in Data.Function.Singletons | |
| SingI d => SingI (OnSym1 d :: TyFun (a ~> b) (a ~> (a ~> c)) -> Type) Source # | |
Defined in Data.Function.Singletons | |
| SuppressUnusedWarnings (OnSym1 a6989586621679314575 :: TyFun (a ~> b) (a ~> (a ~> c)) -> Type) Source # | |
Defined in Data.Function.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (OnSym1 a6989586621679314575 :: TyFun (a ~> b) (a ~> (a ~> c)) -> Type) (a6989586621679314576 :: a ~> b) Source # | |
Defined in Data.Function.Singletons | |
data OnSym2 (a6989586621679314575 :: (~>) b ((~>) b c)) (a6989586621679314576 :: (~>) a b) :: (~>) 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 # | |
Defined in Data.Function.Singletons | |
| (SingI d1, SingI d2) => SingI (OnSym2 d1 d2 :: TyFun a (a ~> c) -> Type) Source # | |
Defined in Data.Function.Singletons | |
| SuppressUnusedWarnings (OnSym2 a6989586621679314575 a6989586621679314576 :: TyFun a (a ~> c) -> Type) Source # | |
Defined in Data.Function.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (OnSym2 a6989586621679314575 a6989586621679314576 :: TyFun a (a ~> c) -> Type) (a6989586621679314577 :: a) Source # | |
Defined in Data.Function.Singletons | |
data OnSym3 (a6989586621679314575 :: (~>) b ((~>) b c)) (a6989586621679314576 :: (~>) a b) (a6989586621679314577 :: a) :: (~>) a c infixl 0 Source #
Instances
| (SingI d1, SingI d2) => SingI1 (OnSym3 d1 d2 :: a -> TyFun a c -> Type) Source # | |
Defined in Data.Function.Singletons | |
| 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 a6989586621679314575 a6989586621679314576 a6989586621679314577 :: TyFun a c -> Type) Source # | |
Defined in Data.Function.Singletons Methods suppressUnusedWarnings :: () # | |
| type Apply (OnSym3 a6989586621679314575 a6989586621679314576 a6989586621679314577 :: TyFun a c -> Type) (a6989586621679314578 :: a) Source # | |
Defined in Data.Function.Singletons | |