Safe Haskell | Trustworthy |
---|---|
Language | Haskell2010 |
Boolean functions.
Type families are defined in Data.Type.Bool module in base
package.
Term implementation use SBool
from singleton-bool
package.
Synopsis
- type LAnd (x :: Bool) (y :: Bool) = x && y
- data LAndSym (x :: FunKind Bool (Bool ~> Bool))
- data LAndSym1 (x :: Bool) (y :: FunKind Bool Bool)
- land :: SBool x -> SBool y -> SBool (LAnd x y)
- landSym :: Lam2 SBool SBool SBool LAndSym
- landSym1 :: SBool x -> Lam SBool SBool (LAndSym1 x)
- type LOr (x :: Bool) (y :: Bool) = x || y
- data LOrSym (x :: FunKind Bool (Bool ~> Bool))
- data LOrSym1 (x :: Bool) (y :: FunKind Bool Bool)
- lor :: SBool x -> SBool y -> SBool (LOr x y)
- lorSym :: Lam2 SBool SBool SBool LOrSym
- lorSym1 :: SBool x -> Lam SBool SBool (LOrSym1 x)
- type family Not (a :: Bool) = (res :: Bool) | res -> a where ...
- data NotSym (x :: FunKind Bool Bool)
- not :: SBool x -> SBool (Not x)
- notSym :: Lam SBool SBool NotSym
Logical and
Logical or
Logical not
type family Not (a :: Bool) = (res :: Bool) | res -> a where ... #
Type-level "not". An injective type family since 4.10.0.0
.
Since: base-4.7.0.0