| Copyright | (C) 2013-2014 Richard Eisenberg Jan Stolarek |
|---|---|
| License | BSD-style (see LICENSE) |
| Maintainer | Ryan Scott |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.Singletons.Prelude.Bool
Description
Defines functions and datatypes relating to the singleton for Bool,
including a singletons version of all the definitions in Data.Bool.
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.Bool. Also, please excuse
the apparent repeated variable names. This is due to an interaction
between Template Haskell and Haddock.
Synopsis
- type family Sing :: k -> Type
- data SBool :: Bool -> Type where
- type family If (cond :: Bool) (tru :: k) (fls :: k) :: k where ...
- sIf :: Sing a -> Sing b -> Sing c -> Sing (If a b c)
- type family Not (a :: Bool) = (res :: Bool) | res -> a where ...
- sNot :: Sing a -> Sing (Not a)
- type family (a :: Bool) && (b :: Bool) :: Bool where ...
- type family (a :: Bool) || (b :: Bool) :: Bool where ...
- (%&&) :: Sing a -> Sing b -> Sing (a && b)
- (%||) :: Sing a -> Sing b -> Sing (a || b)
- bool_ :: a -> a -> Bool -> a
- type family Bool_ (a :: a) (a :: a) (a :: Bool) :: a where ...
- sBool_ :: forall a (t :: a) (t :: a) (t :: Bool). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Bool_Sym0 t) t) t :: a)
- type family Otherwise :: Bool where ...
- sOtherwise :: Sing (OtherwiseSym0 :: Bool)
- type TrueSym0 = 'True
- type FalseSym0 = 'False
- data NotSym0 :: (~>) Bool Bool
- type NotSym1 (a6989586621679372930 :: Bool) = Not a6989586621679372930
- data (&&@#@$) :: (~>) Bool ((~>) Bool Bool)
- data (&&@#@$$) (a6989586621679372398 :: Bool) :: (~>) Bool Bool
- type (&&@#@$$$) (a6989586621679372398 :: Bool) (b6989586621679372399 :: Bool) = (&&) a6989586621679372398 b6989586621679372399
- data (||@#@$) :: (~>) Bool ((~>) Bool Bool)
- data (||@#@$$) (a6989586621679372636 :: Bool) :: (~>) Bool Bool
- type (||@#@$$$) (a6989586621679372636 :: Bool) (b6989586621679372637 :: Bool) = (||) a6989586621679372636 b6989586621679372637
- data Bool_Sym0 :: forall a6989586621679371636. (~>) a6989586621679371636 ((~>) a6989586621679371636 ((~>) Bool a6989586621679371636))
- data Bool_Sym1 (a6989586621679371642 :: a6989586621679371636) :: (~>) a6989586621679371636 ((~>) Bool a6989586621679371636)
- data Bool_Sym2 (a6989586621679371642 :: a6989586621679371636) (a6989586621679371643 :: a6989586621679371636) :: (~>) Bool a6989586621679371636
- type Bool_Sym3 (a6989586621679371642 :: a6989586621679371636) (a6989586621679371643 :: a6989586621679371636) (a6989586621679371644 :: Bool) = Bool_ a6989586621679371642 a6989586621679371643 a6989586621679371644
- type OtherwiseSym0 = Otherwise
The Bool singleton
type family Sing :: k -> Type Source #
The singleton kind-indexed type family.
Instances
data SBool :: Bool -> Type where Source #
Instances
| TestCoercion SBool Source # | |
Defined in Data.Singletons.Prelude.Instances Methods testCoercion :: forall (a :: k) (b :: k). SBool a -> SBool b -> Maybe (Coercion a b) | |
| TestEquality SBool Source # | |
Defined in Data.Singletons.Prelude.Instances Methods testEquality :: forall (a :: k) (b :: k). SBool a -> SBool b -> Maybe (a :~: b) | |
| Show (SBool z) | |
Conditionals
Singletons from Data.Bool
The following are derived from the function bool in Data.Bool. The extra
underscore is to avoid name clashes with the type Bool.
sBool_ :: forall a (t :: a) (t :: a) (t :: Bool). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Bool_Sym0 t) t) t :: a) Source #
sOtherwise :: Sing (OtherwiseSym0 :: Bool) Source #
Defunctionalization symbols
data NotSym0 :: (~>) Bool Bool Source #
Instances
| SingI NotSym0 Source # | |
| SuppressUnusedWarnings NotSym0 Source # | |
Defined in Data.Singletons.Prelude.Bool Methods suppressUnusedWarnings :: () Source # | |
| type Apply NotSym0 (a6989586621679372930 :: Bool) Source # | |
Defined in Data.Singletons.Prelude.Bool | |
data (&&@#@$) :: (~>) Bool ((~>) Bool Bool) infixr 3 Source #
Instances
| SingI (&&@#@$) Source # | |
| SuppressUnusedWarnings (&&@#@$) Source # | |
Defined in Data.Singletons.Prelude.Bool Methods suppressUnusedWarnings :: () Source # | |
| type Apply (&&@#@$) (a6989586621679372398 :: Bool) Source # | |
Defined in Data.Singletons.Prelude.Bool | |
data (&&@#@$$) (a6989586621679372398 :: Bool) :: (~>) Bool Bool infixr 3 Source #
Instances
| SingI x => SingI ((&&@#@$$) x :: TyFun Bool Bool -> Type) Source # | |
| SuppressUnusedWarnings ((&&@#@$$) a6989586621679372398 :: TyFun Bool Bool -> Type) Source # | |
Defined in Data.Singletons.Prelude.Bool Methods suppressUnusedWarnings :: () Source # | |
| type Apply ((&&@#@$$) a6989586621679372398 :: TyFun Bool Bool -> Type) (b6989586621679372399 :: Bool) Source # | |
Defined in Data.Singletons.Prelude.Bool | |
type (&&@#@$$$) (a6989586621679372398 :: Bool) (b6989586621679372399 :: Bool) = (&&) a6989586621679372398 b6989586621679372399 Source #
data (||@#@$) :: (~>) Bool ((~>) Bool Bool) infixr 2 Source #
Instances
| SingI (||@#@$) Source # | |
| SuppressUnusedWarnings (||@#@$) Source # | |
Defined in Data.Singletons.Prelude.Bool Methods suppressUnusedWarnings :: () Source # | |
| type Apply (||@#@$) (a6989586621679372636 :: Bool) Source # | |
Defined in Data.Singletons.Prelude.Bool | |
data (||@#@$$) (a6989586621679372636 :: Bool) :: (~>) Bool Bool infixr 2 Source #
Instances
| SingI x => SingI ((||@#@$$) x :: TyFun Bool Bool -> Type) Source # | |
| SuppressUnusedWarnings ((||@#@$$) a6989586621679372636 :: TyFun Bool Bool -> Type) Source # | |
Defined in Data.Singletons.Prelude.Bool Methods suppressUnusedWarnings :: () Source # | |
| type Apply ((||@#@$$) a6989586621679372636 :: TyFun Bool Bool -> Type) (b6989586621679372637 :: Bool) Source # | |
Defined in Data.Singletons.Prelude.Bool | |
type (||@#@$$$) (a6989586621679372636 :: Bool) (b6989586621679372637 :: Bool) = (||) a6989586621679372636 b6989586621679372637 Source #
data Bool_Sym0 :: forall a6989586621679371636. (~>) a6989586621679371636 ((~>) a6989586621679371636 ((~>) Bool a6989586621679371636)) Source #
Instances
| SingI (Bool_Sym0 :: TyFun a (a ~> (Bool ~> a)) -> Type) Source # | |
| SuppressUnusedWarnings (Bool_Sym0 :: TyFun a6989586621679371636 (a6989586621679371636 ~> (Bool ~> a6989586621679371636)) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Bool Methods suppressUnusedWarnings :: () Source # | |
| type Apply (Bool_Sym0 :: TyFun a6989586621679371636 (a6989586621679371636 ~> (Bool ~> a6989586621679371636)) -> Type) (a6989586621679371642 :: a6989586621679371636) Source # | |
data Bool_Sym1 (a6989586621679371642 :: a6989586621679371636) :: (~>) a6989586621679371636 ((~>) Bool a6989586621679371636) Source #
Instances
| SingI d => SingI (Bool_Sym1 d :: TyFun a (Bool ~> a) -> Type) Source # | |
| SuppressUnusedWarnings (Bool_Sym1 a6989586621679371642 :: TyFun a6989586621679371636 (Bool ~> a6989586621679371636) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Bool Methods suppressUnusedWarnings :: () Source # | |
| type Apply (Bool_Sym1 a6989586621679371642 :: TyFun a6989586621679371636 (Bool ~> a6989586621679371636) -> Type) (a6989586621679371643 :: a6989586621679371636) Source # | |
data Bool_Sym2 (a6989586621679371642 :: a6989586621679371636) (a6989586621679371643 :: a6989586621679371636) :: (~>) Bool a6989586621679371636 Source #
Instances
| (SingI d1, SingI d2) => SingI (Bool_Sym2 d1 d2 :: TyFun Bool a -> Type) Source # | |
| SuppressUnusedWarnings (Bool_Sym2 a6989586621679371643 a6989586621679371642 :: TyFun Bool a6989586621679371636 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Bool Methods suppressUnusedWarnings :: () Source # | |
| type Apply (Bool_Sym2 a6989586621679371643 a6989586621679371642 :: TyFun Bool a -> Type) (a6989586621679371644 :: Bool) Source # | |
Defined in Data.Singletons.Prelude.Bool | |
type Bool_Sym3 (a6989586621679371642 :: a6989586621679371636) (a6989586621679371643 :: a6989586621679371636) (a6989586621679371644 :: Bool) = Bool_ a6989586621679371642 a6989586621679371643 a6989586621679371644 Source #
type OtherwiseSym0 = Otherwise Source #