| 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 |
Data.Singletons.Prelude.Base
Description
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 a1627672480 (TyFun b1627672481 b1627672481 -> Type) -> Type) (TyFun b1627672481 (TyFun [a1627672480] b1627672481 -> Type) -> Type))
- data FoldrSym1 (l :: TyFun a1627672480 (TyFun b1627672481 b1627672481 -> Type) -> Type) (l :: TyFun b1627672481 (TyFun [a1627672480] b1627672481 -> Type))
- data FoldrSym2 (l :: TyFun a1627672480 (TyFun b1627672481 b1627672481 -> Type) -> Type) (l :: b1627672481) (l :: TyFun [a1627672480] b1627672481)
- type FoldrSym3 (t :: TyFun a1627672480 (TyFun b1627672481 b1627672481 -> Type) -> Type) (t :: b1627672481) (t :: [a1627672480]) = Foldr t t t
- data MapSym0 (l :: TyFun (TyFun a1627672478 b1627672479 -> Type) (TyFun [a1627672478] [b1627672479] -> Type))
- data MapSym1 (l :: TyFun a1627672478 b1627672479 -> Type) (l :: TyFun [a1627672478] [b1627672479])
- type MapSym2 (t :: TyFun a1627672478 b1627672479 -> Type) (t :: [a1627672478]) = Map t t
- data (:++$) (l :: TyFun [a1627672477] (TyFun [a1627672477] [a1627672477] -> Type))
- data (l :: [a1627672477]) :++$$ (l :: TyFun [a1627672477] [a1627672477])
- type (:++$$$) (t :: [a1627672477]) (t :: [a1627672477]) = (:++) t t
- type OtherwiseSym0 = Otherwise
- data IdSym0 (l :: TyFun a1627672476 a1627672476)
- type IdSym1 (t :: a1627672476) = Id t
- data ConstSym0 (l :: TyFun a1627672474 (TyFun b1627672475 a1627672474 -> Type))
- data ConstSym1 (l :: a1627672474) (l :: TyFun b1627672475 a1627672474)
- type ConstSym2 (t :: a1627672474) (t :: b1627672475) = Const t t
- data (:.$) (l :: TyFun (TyFun b1627672471 c1627672472 -> Type) (TyFun (TyFun a1627672473 b1627672471 -> Type) (TyFun a1627672473 c1627672472 -> Type) -> Type))
- data (l :: TyFun b1627672471 c1627672472 -> Type) :.$$ (l :: TyFun (TyFun a1627672473 b1627672471 -> Type) (TyFun a1627672473 c1627672472 -> Type))
- data ((l :: TyFun b1627672471 c1627672472 -> Type) :.$$$ (l :: TyFun a1627672473 b1627672471 -> Type)) (l :: TyFun a1627672473 c1627672472)
- type (:.$$$$) (t :: TyFun b1627672471 c1627672472 -> Type) (t :: TyFun a1627672473 b1627672471 -> Type) (t :: a1627672473) = (:.) 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 a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) (TyFun b1627672469 (TyFun a1627672468 c1627672470 -> Type) -> Type))
- data FlipSym1 (l :: TyFun a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) (l :: TyFun b1627672469 (TyFun a1627672468 c1627672470 -> Type))
- data FlipSym2 (l :: TyFun a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) (l :: b1627672469) (l :: TyFun a1627672468 c1627672470)
- type FlipSym3 (t :: TyFun a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) (t :: b1627672469) (t :: a1627672468) = Flip t t t
- data AsTypeOfSym0 (l :: TyFun a1627672467 (TyFun a1627672467 a1627672467 -> Type))
- data AsTypeOfSym1 (l :: a1627672467) (l :: TyFun a1627672467 a1627672467)
- type AsTypeOfSym2 (t :: a1627672467) (t :: a1627672467) = AsTypeOf t t
- data SeqSym0 (l :: TyFun a1627672465 (TyFun b1627672466 b1627672466 -> Type))
- data SeqSym1 (l :: a1627672465) (l :: TyFun b1627672466 b1627672466)
- type SeqSym2 (t :: a1627672465) (t :: b1627672466) = Seq t t
Basic functions
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) #
sMap :: forall (t :: TyFun a b -> Type) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply MapSym0 t) t :: [b]) #
(%:++) :: forall (t :: [a]) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply (:++$) t) t :: [a]) infixr 5 #
sOtherwise :: Sing (OtherwiseSym0 :: Bool) #
type family ((a :: TyFun b c -> Type) :. (a :: TyFun a b -> Type)) (a :: a) :: c where ... infixr 9 #
(%:.) :: 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 #
(%$) :: forall (f :: TyFun a b -> *) (x :: a). Sing f -> Sing x -> Sing ((($$) @@ f) @@ x) infixr 0 #
(%$!) :: forall (f :: TyFun a b -> *) (x :: a). Sing f -> Sing x -> Sing ((($!$) @@ f) @@ x) infixr 0 #
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) #
sAsTypeOf :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply AsTypeOfSym0 t) t :: a) #
sSeq :: forall (t :: a) (t :: b). Sing t -> Sing t -> Sing (Apply (Apply SeqSym0 t) t :: b) infixr 0 #
Defunctionalization symbols
data FoldrSym0 (l :: TyFun (TyFun a1627672480 (TyFun b1627672481 b1627672481 -> Type) -> Type) (TyFun b1627672481 (TyFun [a1627672480] b1627672481 -> Type) -> Type)) #
Instances
| SuppressUnusedWarnings (TyFun (TyFun a1627672480 (TyFun b1627672481 b1627672481 -> Type) -> Type) (TyFun b1627672481 (TyFun [a1627672480] b1627672481 -> Type) -> Type) -> *) (FoldrSym0 a1627672480 b1627672481) # | |
| type Apply (TyFun a1627672480 (TyFun b1627672481 b1627672481 -> Type) -> Type) (TyFun b1627672481 (TyFun [a1627672480] b1627672481 -> Type) -> Type) (FoldrSym0 a1627672480 b1627672481) l # | |
data FoldrSym1 (l :: TyFun a1627672480 (TyFun b1627672481 b1627672481 -> Type) -> Type) (l :: TyFun b1627672481 (TyFun [a1627672480] b1627672481 -> Type)) #
Instances
| SuppressUnusedWarnings ((TyFun a1627672480 (TyFun b1627672481 b1627672481 -> Type) -> Type) -> TyFun b1627672481 (TyFun [a1627672480] b1627672481 -> Type) -> *) (FoldrSym1 a1627672480 b1627672481) # | |
| type Apply b1627672481 (TyFun [a1627672480] b1627672481 -> Type) (FoldrSym1 a1627672480 b1627672481 l1) l2 # | |
data FoldrSym2 (l :: TyFun a1627672480 (TyFun b1627672481 b1627672481 -> Type) -> Type) (l :: b1627672481) (l :: TyFun [a1627672480] b1627672481) #
type FoldrSym3 (t :: TyFun a1627672480 (TyFun b1627672481 b1627672481 -> Type) -> Type) (t :: b1627672481) (t :: [a1627672480]) = Foldr t t t #
data MapSym0 (l :: TyFun (TyFun a1627672478 b1627672479 -> Type) (TyFun [a1627672478] [b1627672479] -> Type)) #
data MapSym1 (l :: TyFun a1627672478 b1627672479 -> Type) (l :: TyFun [a1627672478] [b1627672479]) #
type OtherwiseSym0 = Otherwise #
data (:.$) (l :: TyFun (TyFun b1627672471 c1627672472 -> Type) (TyFun (TyFun a1627672473 b1627672471 -> Type) (TyFun a1627672473 c1627672472 -> Type) -> Type)) #
Instances
| SuppressUnusedWarnings (TyFun (TyFun b1627672471 c1627672472 -> Type) (TyFun (TyFun a1627672473 b1627672471 -> Type) (TyFun a1627672473 c1627672472 -> Type) -> Type) -> *) ((:.$) b1627672471 a1627672473 c1627672472) # | |
| type Apply (TyFun b1627672471 c1627672472 -> Type) (TyFun (TyFun a1627672473 b1627672471 -> Type) (TyFun a1627672473 c1627672472 -> Type) -> Type) ((:.$) b1627672471 a1627672473 c1627672472) l # | |
data (l :: TyFun b1627672471 c1627672472 -> Type) :.$$ (l :: TyFun (TyFun a1627672473 b1627672471 -> Type) (TyFun a1627672473 c1627672472 -> Type)) #
Instances
| SuppressUnusedWarnings ((TyFun b1627672471 c1627672472 -> Type) -> TyFun (TyFun a1627672473 b1627672471 -> Type) (TyFun a1627672473 c1627672472 -> Type) -> *) ((:.$$) b1627672471 a1627672473 c1627672472) # | |
| type Apply (TyFun a1627672473 b1627672471 -> Type) (TyFun a1627672473 c1627672472 -> Type) ((:.$$) b1627672471 a1627672473 c1627672472 l1) l2 # | |
data ((l :: TyFun b1627672471 c1627672472 -> Type) :.$$$ (l :: TyFun a1627672473 b1627672471 -> Type)) (l :: TyFun a1627672473 c1627672472) #
type (:.$$$$) (t :: TyFun b1627672471 c1627672472 -> Type) (t :: TyFun a1627672473 b1627672471 -> Type) (t :: a1627672473) = (:.) t t t #
data FlipSym0 (l :: TyFun (TyFun a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) (TyFun b1627672469 (TyFun a1627672468 c1627672470 -> Type) -> Type)) #
Instances
| SuppressUnusedWarnings (TyFun (TyFun a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) (TyFun b1627672469 (TyFun a1627672468 c1627672470 -> Type) -> Type) -> *) (FlipSym0 b1627672469 a1627672468 c1627672470) # | |
| type Apply (TyFun a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) (TyFun b1627672469 (TyFun a1627672468 c1627672470 -> Type) -> Type) (FlipSym0 b1627672469 a1627672468 c1627672470) l # | |
data FlipSym1 (l :: TyFun a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) (l :: TyFun b1627672469 (TyFun a1627672468 c1627672470 -> Type)) #
Instances
| SuppressUnusedWarnings ((TyFun a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) -> TyFun b1627672469 (TyFun a1627672468 c1627672470 -> Type) -> *) (FlipSym1 b1627672469 a1627672468 c1627672470) # | |
| type Apply b1627672469 (TyFun a1627672468 c1627672470 -> Type) (FlipSym1 b1627672469 a1627672468 c1627672470 l1) l2 # | |
data FlipSym2 (l :: TyFun a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) (l :: b1627672469) (l :: TyFun a1627672468 c1627672470) #
type FlipSym3 (t :: TyFun a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) (t :: b1627672469) (t :: a1627672468) = Flip t t t #
data AsTypeOfSym0 (l :: TyFun a1627672467 (TyFun a1627672467 a1627672467 -> Type)) #
Instances
| SuppressUnusedWarnings (TyFun a1627672467 (TyFun a1627672467 a1627672467 -> Type) -> *) (AsTypeOfSym0 a1627672467) # | |
| type Apply a1627672467 (TyFun a1627672467 a1627672467 -> Type) (AsTypeOfSym0 a1627672467) l # | |
data AsTypeOfSym1 (l :: a1627672467) (l :: TyFun a1627672467 a1627672467) #
Instances
| SuppressUnusedWarnings (a1627672467 -> TyFun a1627672467 a1627672467 -> *) (AsTypeOfSym1 a1627672467) # | |
| type Apply a a (AsTypeOfSym1 a l1) l2 # | |
type AsTypeOfSym2 (t :: a1627672467) (t :: a1627672467) = AsTypeOf t t #