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 |
Defines promoted functions and datatypes relating to Bool
,
including a promoted 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.
- type family If k (cond :: Bool) (tru :: k) (fls :: k) :: k where ...
- type family Bool_ (a :: a) (a :: a) (a :: Bool) :: a where ...
- bool_ :: forall a. a -> a -> Bool -> a
- type family Not (a :: Bool) :: Bool where ...
- type family (a :: Bool) :&& (a :: Bool) :: Bool where ...
- type family (a :: Bool) :|| (a :: Bool) :: Bool where ...
- type family Otherwise :: Bool where ...
- type TrueSym0 = True
- type FalseSym0 = False
- data NotSym0 l
- type NotSym1 t = Not t
- data (:&&$) l
- data l :&&$$ l
- type (:&&$$$) t t = (:&&) t t
- data (:||$) l
- data l :||$$ l
- type (:||$$$) t t = (:||) t t
- data Bool_Sym0 l
- data Bool_Sym1 l l
- data Bool_Sym2 l l l
- type Bool_Sym3 t t t = Bool_ t t t
- type OtherwiseSym0 = Otherwise
Documentation
type family If k (cond :: Bool) (tru :: k) (fls :: k) :: k where ... #
Type-level If. If True a b
==> a
; If False a b
==> b
Promoted functions from Data.Bool
The preceding two definitions are derived from the function bool
in
Data.Bool
. The extra underscore is to avoid name clashes with the type
Bool
.
Defunctionalization symbols
type OtherwiseSym0 = Otherwise Source #