Copyright | (C) 2014 Jan Stolarek |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Jan Stolarek (jan.stolarek@p.lodz.pl) |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Implements singletonized versions of functions from GHC.Base
module.
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.Tuple
. Also, please excuse
the apparent repeated variable names. This is due to an interaction
between Template Haskell and Haddock.
- type family Foldr (a :: TyFun a (TyFun b b -> Type) -> Type) (a :: b) (a :: [a]) :: b where ...
- sFoldr :: forall (t :: TyFun a (TyFun b b -> Type) -> Type) (t :: b) (t :: [a]). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t :: b)
- type family Map (a :: TyFun a b -> Type) (a :: [a]) :: [b] where ...
- sMap :: forall (t :: TyFun a b -> Type) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply MapSym0 t) t :: [b])
- type family (a :: [a]) :++ (a :: [a]) :: [a] where ...
- (%:++) :: forall (t :: [a]) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply (:++$) t) t :: [a])
- type family Otherwise :: Bool where ...
- sOtherwise :: Sing (OtherwiseSym0 :: Bool)
- type family Id (a :: a) :: a where ...
- sId :: forall (t :: a). Sing t -> Sing (Apply IdSym0 t :: a)
- type family Const (a :: a) (a :: b) :: a where ...
- sConst :: forall (t :: a) (t :: b). Sing t -> Sing t -> Sing (Apply (Apply ConstSym0 t) t :: a)
- type family ((a :: TyFun b c -> Type) :. (a :: TyFun a b -> Type)) (a :: a) :: c where ...
- (%:.) :: forall (t :: TyFun b c -> Type) (t :: TyFun a b -> Type) (t :: a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (:.$) t) t) t :: c)
- type family (f :: TyFun a b -> *) $ (x :: a) :: b
- type family (f :: TyFun a b -> *) $! (x :: a) :: b
- (%$) :: forall (f :: TyFun a b -> *) (x :: a). Sing f -> Sing x -> Sing ((($$) @@ f) @@ x)
- (%$!) :: forall (f :: TyFun a b -> *) (x :: a). Sing f -> Sing x -> Sing ((($!$) @@ f) @@ x)
- type family Flip (a :: TyFun a (TyFun b c -> Type) -> Type) (a :: b) (a :: a) :: c where ...
- sFlip :: forall (t :: TyFun a (TyFun b c -> Type) -> Type) (t :: b) (t :: a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FlipSym0 t) t) t :: c)
- type family AsTypeOf (a :: a) (a :: a) :: a where ...
- sAsTypeOf :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply AsTypeOfSym0 t) t :: a)
- type family Seq (a :: a) (a :: b) :: b where ...
- sSeq :: forall (t :: a) (t :: b). Sing t -> Sing t -> Sing (Apply (Apply SeqSym0 t) t :: b)
- data FoldrSym0 (l :: TyFun (TyFun a6989586621679277919 (TyFun b6989586621679277920 b6989586621679277920 -> Type) -> Type) (TyFun b6989586621679277920 (TyFun [a6989586621679277919] b6989586621679277920 -> Type) -> Type))
- data FoldrSym1 (l :: TyFun a6989586621679277919 (TyFun b6989586621679277920 b6989586621679277920 -> Type) -> Type) (l :: TyFun b6989586621679277920 (TyFun [a6989586621679277919] b6989586621679277920 -> Type))
- data FoldrSym2 (l :: TyFun a6989586621679277919 (TyFun b6989586621679277920 b6989586621679277920 -> Type) -> Type) (l :: b6989586621679277920) (l :: TyFun [a6989586621679277919] b6989586621679277920)
- type FoldrSym3 (t :: TyFun a6989586621679277919 (TyFun b6989586621679277920 b6989586621679277920 -> Type) -> Type) (t :: b6989586621679277920) (t :: [a6989586621679277919]) = Foldr t t t
- data MapSym0 (l :: TyFun (TyFun a6989586621679277917 b6989586621679277918 -> Type) (TyFun [a6989586621679277917] [b6989586621679277918] -> Type))
- data MapSym1 (l :: TyFun a6989586621679277917 b6989586621679277918 -> Type) (l :: TyFun [a6989586621679277917] [b6989586621679277918])
- type MapSym2 (t :: TyFun a6989586621679277917 b6989586621679277918 -> Type) (t :: [a6989586621679277917]) = Map t t
- data (:++$) (l :: TyFun [a6989586621679277916] (TyFun [a6989586621679277916] [a6989586621679277916] -> Type))
- data (l :: [a6989586621679277916]) :++$$ (l :: TyFun [a6989586621679277916] [a6989586621679277916])
- type (:++$$$) (t :: [a6989586621679277916]) (t :: [a6989586621679277916]) = (:++) t t
- type OtherwiseSym0 = Otherwise
- data IdSym0 (l :: TyFun a6989586621679277915 a6989586621679277915)
- type IdSym1 (t :: a6989586621679277915) = Id t
- data ConstSym0 (l :: TyFun a6989586621679277913 (TyFun b6989586621679277914 a6989586621679277913 -> Type))
- data ConstSym1 (l :: a6989586621679277913) (l :: TyFun b6989586621679277914 a6989586621679277913)
- type ConstSym2 (t :: a6989586621679277913) (t :: b6989586621679277914) = Const t t
- data (:.$) (l :: TyFun (TyFun b6989586621679277910 c6989586621679277911 -> Type) (TyFun (TyFun a6989586621679277912 b6989586621679277910 -> Type) (TyFun a6989586621679277912 c6989586621679277911 -> Type) -> Type))
- data (l :: TyFun b6989586621679277910 c6989586621679277911 -> Type) :.$$ (l :: TyFun (TyFun a6989586621679277912 b6989586621679277910 -> Type) (TyFun a6989586621679277912 c6989586621679277911 -> Type))
- data ((l :: TyFun b6989586621679277910 c6989586621679277911 -> Type) :.$$$ (l :: TyFun a6989586621679277912 b6989586621679277910 -> Type)) (l :: TyFun a6989586621679277912 c6989586621679277911)
- type (:.$$$$) (t :: TyFun b6989586621679277910 c6989586621679277911 -> Type) (t :: TyFun a6989586621679277912 b6989586621679277910 -> Type) (t :: a6989586621679277912) = (:.) t t t
- data ($$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> *
- data ($$$) :: (TyFun a b -> *) -> TyFun a b -> *
- type ($$$$) a b = ($) a b
- data ($!$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> *
- data ($!$$) :: (TyFun a b -> *) -> TyFun a b -> *
- type ($!$$$) a b = ($!) a b
- data FlipSym0 (l :: TyFun (TyFun a6989586621679277907 (TyFun b6989586621679277908 c6989586621679277909 -> Type) -> Type) (TyFun b6989586621679277908 (TyFun a6989586621679277907 c6989586621679277909 -> Type) -> Type))
- data FlipSym1 (l :: TyFun a6989586621679277907 (TyFun b6989586621679277908 c6989586621679277909 -> Type) -> Type) (l :: TyFun b6989586621679277908 (TyFun a6989586621679277907 c6989586621679277909 -> Type))
- data FlipSym2 (l :: TyFun a6989586621679277907 (TyFun b6989586621679277908 c6989586621679277909 -> Type) -> Type) (l :: b6989586621679277908) (l :: TyFun a6989586621679277907 c6989586621679277909)
- type FlipSym3 (t :: TyFun a6989586621679277907 (TyFun b6989586621679277908 c6989586621679277909 -> Type) -> Type) (t :: b6989586621679277908) (t :: a6989586621679277907) = Flip t t t
- data AsTypeOfSym0 (l :: TyFun a6989586621679277906 (TyFun a6989586621679277906 a6989586621679277906 -> Type))
- data AsTypeOfSym1 (l :: a6989586621679277906) (l :: TyFun a6989586621679277906 a6989586621679277906)
- type AsTypeOfSym2 (t :: a6989586621679277906) (t :: a6989586621679277906) = AsTypeOf t t
- data SeqSym0 (l :: TyFun a6989586621679277904 (TyFun b6989586621679277905 b6989586621679277905 -> Type))
- data SeqSym1 (l :: a6989586621679277904) (l :: TyFun b6989586621679277905 b6989586621679277905)
- type SeqSym2 (t :: a6989586621679277904) (t :: b6989586621679277905) = Seq t t
Basic functions
type family Foldr (a :: TyFun a (TyFun b b -> Type) -> Type) (a :: b) (a :: [a]) :: b where ... Source #
sFoldr :: forall (t :: TyFun a (TyFun b b -> Type) -> Type) (t :: b) (t :: [a]). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t :: b) Source #
sMap :: forall (t :: TyFun a b -> Type) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply MapSym0 t) t :: [b]) Source #
(%:++) :: forall (t :: [a]) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply (:++$) t) t :: [a]) infixr 5 Source #
sOtherwise :: Sing (OtherwiseSym0 :: Bool) Source #
sConst :: forall (t :: a) (t :: b). Sing t -> Sing t -> Sing (Apply (Apply ConstSym0 t) t :: a) Source #
type family ((a :: TyFun b c -> Type) :. (a :: TyFun a b -> Type)) (a :: a) :: c where ... infixr 9 Source #
(%:.) :: forall (t :: TyFun b c -> Type) (t :: TyFun a b -> Type) (t :: a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (:.$) t) t) t :: c) infixr 9 Source #
(%$) :: forall (f :: TyFun a b -> *) (x :: a). Sing f -> Sing x -> Sing ((($$) @@ f) @@ x) infixr 0 Source #
(%$!) :: forall (f :: TyFun a b -> *) (x :: a). Sing f -> Sing x -> Sing ((($!$) @@ f) @@ x) infixr 0 Source #
type family Flip (a :: TyFun a (TyFun b c -> Type) -> Type) (a :: b) (a :: a) :: c where ... Source #
sFlip :: forall (t :: TyFun a (TyFun b c -> Type) -> Type) (t :: b) (t :: a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FlipSym0 t) t) t :: c) Source #
sAsTypeOf :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply AsTypeOfSym0 t) t :: a) Source #
sSeq :: forall (t :: a) (t :: b). Sing t -> Sing t -> Sing (Apply (Apply SeqSym0 t) t :: b) infixr 0 Source #
Defunctionalization symbols
data FoldrSym0 (l :: TyFun (TyFun a6989586621679277919 (TyFun b6989586621679277920 b6989586621679277920 -> Type) -> Type) (TyFun b6989586621679277920 (TyFun [a6989586621679277919] b6989586621679277920 -> Type) -> Type)) Source #
SuppressUnusedWarnings (TyFun (TyFun a6989586621679277919 (TyFun b6989586621679277920 b6989586621679277920 -> Type) -> Type) (TyFun b6989586621679277920 (TyFun [a6989586621679277919] b6989586621679277920 -> Type) -> Type) -> *) (FoldrSym0 a6989586621679277919 b6989586621679277920) Source # | |
type Apply (TyFun a6989586621679277919 (TyFun b6989586621679277920 b6989586621679277920 -> Type) -> Type) (TyFun b6989586621679277920 (TyFun [a6989586621679277919] b6989586621679277920 -> Type) -> Type) (FoldrSym0 a6989586621679277919 b6989586621679277920) l Source # | |
data FoldrSym1 (l :: TyFun a6989586621679277919 (TyFun b6989586621679277920 b6989586621679277920 -> Type) -> Type) (l :: TyFun b6989586621679277920 (TyFun [a6989586621679277919] b6989586621679277920 -> Type)) Source #
SuppressUnusedWarnings ((TyFun a6989586621679277919 (TyFun b6989586621679277920 b6989586621679277920 -> Type) -> Type) -> TyFun b6989586621679277920 (TyFun [a6989586621679277919] b6989586621679277920 -> Type) -> *) (FoldrSym1 a6989586621679277919 b6989586621679277920) Source # | |
type Apply b6989586621679277920 (TyFun [a6989586621679277919] b6989586621679277920 -> Type) (FoldrSym1 a6989586621679277919 b6989586621679277920 l1) l2 Source # | |
data FoldrSym2 (l :: TyFun a6989586621679277919 (TyFun b6989586621679277920 b6989586621679277920 -> Type) -> Type) (l :: b6989586621679277920) (l :: TyFun [a6989586621679277919] b6989586621679277920) Source #
SuppressUnusedWarnings ((TyFun a6989586621679277919 (TyFun b6989586621679277920 b6989586621679277920 -> Type) -> Type) -> b6989586621679277920 -> TyFun [a6989586621679277919] b6989586621679277920 -> *) (FoldrSym2 a6989586621679277919 b6989586621679277920) Source # | |
type Apply [a] b (FoldrSym2 a b l1 l2) l3 Source # | |
type FoldrSym3 (t :: TyFun a6989586621679277919 (TyFun b6989586621679277920 b6989586621679277920 -> Type) -> Type) (t :: b6989586621679277920) (t :: [a6989586621679277919]) = Foldr t t t Source #
data MapSym0 (l :: TyFun (TyFun a6989586621679277917 b6989586621679277918 -> Type) (TyFun [a6989586621679277917] [b6989586621679277918] -> Type)) Source #
SuppressUnusedWarnings (TyFun (TyFun a6989586621679277917 b6989586621679277918 -> Type) (TyFun [a6989586621679277917] [b6989586621679277918] -> Type) -> *) (MapSym0 a6989586621679277917 b6989586621679277918) Source # | |
type Apply (TyFun a6989586621679277917 b6989586621679277918 -> Type) (TyFun [a6989586621679277917] [b6989586621679277918] -> Type) (MapSym0 a6989586621679277917 b6989586621679277918) l Source # | |
data MapSym1 (l :: TyFun a6989586621679277917 b6989586621679277918 -> Type) (l :: TyFun [a6989586621679277917] [b6989586621679277918]) Source #
type MapSym2 (t :: TyFun a6989586621679277917 b6989586621679277918 -> Type) (t :: [a6989586621679277917]) = Map t t Source #
data (:++$) (l :: TyFun [a6989586621679277916] (TyFun [a6989586621679277916] [a6989586621679277916] -> Type)) Source #
data (l :: [a6989586621679277916]) :++$$ (l :: TyFun [a6989586621679277916] [a6989586621679277916]) Source #
type OtherwiseSym0 = Otherwise Source #
data ConstSym0 (l :: TyFun a6989586621679277913 (TyFun b6989586621679277914 a6989586621679277913 -> Type)) Source #
SuppressUnusedWarnings (TyFun a6989586621679277913 (TyFun b6989586621679277914 a6989586621679277913 -> Type) -> *) (ConstSym0 b6989586621679277914 a6989586621679277913) Source # | |
type Apply a6989586621679277913 (TyFun b6989586621679277914 a6989586621679277913 -> Type) (ConstSym0 b6989586621679277914 a6989586621679277913) l Source # | |
data ConstSym1 (l :: a6989586621679277913) (l :: TyFun b6989586621679277914 a6989586621679277913) Source #
data (:.$) (l :: TyFun (TyFun b6989586621679277910 c6989586621679277911 -> Type) (TyFun (TyFun a6989586621679277912 b6989586621679277910 -> Type) (TyFun a6989586621679277912 c6989586621679277911 -> Type) -> Type)) Source #
SuppressUnusedWarnings (TyFun (TyFun b6989586621679277910 c6989586621679277911 -> Type) (TyFun (TyFun a6989586621679277912 b6989586621679277910 -> Type) (TyFun a6989586621679277912 c6989586621679277911 -> Type) -> Type) -> *) ((:.$) b6989586621679277910 a6989586621679277912 c6989586621679277911) Source # | |
type Apply (TyFun b6989586621679277910 c6989586621679277911 -> Type) (TyFun (TyFun a6989586621679277912 b6989586621679277910 -> Type) (TyFun a6989586621679277912 c6989586621679277911 -> Type) -> Type) ((:.$) b6989586621679277910 a6989586621679277912 c6989586621679277911) l Source # | |
data (l :: TyFun b6989586621679277910 c6989586621679277911 -> Type) :.$$ (l :: TyFun (TyFun a6989586621679277912 b6989586621679277910 -> Type) (TyFun a6989586621679277912 c6989586621679277911 -> Type)) Source #
SuppressUnusedWarnings ((TyFun b6989586621679277910 c6989586621679277911 -> Type) -> TyFun (TyFun a6989586621679277912 b6989586621679277910 -> Type) (TyFun a6989586621679277912 c6989586621679277911 -> Type) -> *) ((:.$$) b6989586621679277910 a6989586621679277912 c6989586621679277911) Source # | |
type Apply (TyFun a6989586621679277912 b6989586621679277910 -> Type) (TyFun a6989586621679277912 c6989586621679277911 -> Type) ((:.$$) b6989586621679277910 a6989586621679277912 c6989586621679277911 l1) l2 Source # | |
data ((l :: TyFun b6989586621679277910 c6989586621679277911 -> Type) :.$$$ (l :: TyFun a6989586621679277912 b6989586621679277910 -> Type)) (l :: TyFun a6989586621679277912 c6989586621679277911) Source #
SuppressUnusedWarnings ((TyFun b6989586621679277910 c6989586621679277911 -> Type) -> (TyFun a6989586621679277912 b6989586621679277910 -> Type) -> TyFun a6989586621679277912 c6989586621679277911 -> *) ((:.$$$) b6989586621679277910 a6989586621679277912 c6989586621679277911) Source # | |
type Apply a c ((:.$$$) b a c l1 l2) l3 Source # | |
type (:.$$$$) (t :: TyFun b6989586621679277910 c6989586621679277911 -> Type) (t :: TyFun a6989586621679277912 b6989586621679277910 -> Type) (t :: a6989586621679277912) = (:.) t t t Source #
data FlipSym0 (l :: TyFun (TyFun a6989586621679277907 (TyFun b6989586621679277908 c6989586621679277909 -> Type) -> Type) (TyFun b6989586621679277908 (TyFun a6989586621679277907 c6989586621679277909 -> Type) -> Type)) Source #
SuppressUnusedWarnings (TyFun (TyFun a6989586621679277907 (TyFun b6989586621679277908 c6989586621679277909 -> Type) -> Type) (TyFun b6989586621679277908 (TyFun a6989586621679277907 c6989586621679277909 -> Type) -> Type) -> *) (FlipSym0 b6989586621679277908 a6989586621679277907 c6989586621679277909) Source # | |
type Apply (TyFun a6989586621679277907 (TyFun b6989586621679277908 c6989586621679277909 -> Type) -> Type) (TyFun b6989586621679277908 (TyFun a6989586621679277907 c6989586621679277909 -> Type) -> Type) (FlipSym0 b6989586621679277908 a6989586621679277907 c6989586621679277909) l Source # | |
data FlipSym1 (l :: TyFun a6989586621679277907 (TyFun b6989586621679277908 c6989586621679277909 -> Type) -> Type) (l :: TyFun b6989586621679277908 (TyFun a6989586621679277907 c6989586621679277909 -> Type)) Source #
SuppressUnusedWarnings ((TyFun a6989586621679277907 (TyFun b6989586621679277908 c6989586621679277909 -> Type) -> Type) -> TyFun b6989586621679277908 (TyFun a6989586621679277907 c6989586621679277909 -> Type) -> *) (FlipSym1 b6989586621679277908 a6989586621679277907 c6989586621679277909) Source # | |
type Apply b6989586621679277908 (TyFun a6989586621679277907 c6989586621679277909 -> Type) (FlipSym1 b6989586621679277908 a6989586621679277907 c6989586621679277909 l1) l2 Source # | |
data FlipSym2 (l :: TyFun a6989586621679277907 (TyFun b6989586621679277908 c6989586621679277909 -> Type) -> Type) (l :: b6989586621679277908) (l :: TyFun a6989586621679277907 c6989586621679277909) Source #
SuppressUnusedWarnings ((TyFun a6989586621679277907 (TyFun b6989586621679277908 c6989586621679277909 -> Type) -> Type) -> b6989586621679277908 -> TyFun a6989586621679277907 c6989586621679277909 -> *) (FlipSym2 b6989586621679277908 a6989586621679277907 c6989586621679277909) Source # | |
type Apply a c (FlipSym2 b a c l1 l2) l3 Source # | |
type FlipSym3 (t :: TyFun a6989586621679277907 (TyFun b6989586621679277908 c6989586621679277909 -> Type) -> Type) (t :: b6989586621679277908) (t :: a6989586621679277907) = Flip t t t Source #
data AsTypeOfSym0 (l :: TyFun a6989586621679277906 (TyFun a6989586621679277906 a6989586621679277906 -> Type)) Source #
SuppressUnusedWarnings (TyFun a6989586621679277906 (TyFun a6989586621679277906 a6989586621679277906 -> Type) -> *) (AsTypeOfSym0 a6989586621679277906) Source # | |
type Apply a6989586621679277906 (TyFun a6989586621679277906 a6989586621679277906 -> Type) (AsTypeOfSym0 a6989586621679277906) l Source # | |
data AsTypeOfSym1 (l :: a6989586621679277906) (l :: TyFun a6989586621679277906 a6989586621679277906) Source #
SuppressUnusedWarnings (a6989586621679277906 -> TyFun a6989586621679277906 a6989586621679277906 -> *) (AsTypeOfSym1 a6989586621679277906) Source # | |
type Apply a a (AsTypeOfSym1 a l1) l2 Source # | |
type AsTypeOfSym2 (t :: a6989586621679277906) (t :: a6989586621679277906) = AsTypeOf t t Source #
data SeqSym0 (l :: TyFun a6989586621679277904 (TyFun b6989586621679277905 b6989586621679277905 -> Type)) Source #
SuppressUnusedWarnings (TyFun a6989586621679277904 (TyFun b6989586621679277905 b6989586621679277905 -> Type) -> *) (SeqSym0 a6989586621679277904 b6989586621679277905) Source # | |
type Apply a6989586621679277904 (TyFun b6989586621679277905 b6989586621679277905 -> Type) (SeqSym0 a6989586621679277904 b6989586621679277905) l Source # | |