Copyright | (c) The University of Glasgow 2001 |
---|---|
License | BSD-style (see the file libraries/base/LICENSE) |
Maintainer | [email protected] |
Stability | experimental |
Portability | portable |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
The Bool
type and related functions.
Bounded Bool | Since: base-2.1 |
Enum Bool | Since: base-2.1 |
Eq Bool | |
Data Bool | Since: base-4.0.0.0 |
Defined in Data.Data Methodsgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Bool -> c Bool Source gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Bool Source toConstr :: Bool -> Constr Source dataTypeOf :: Bool -> DataType Source dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Bool) Source dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Bool) Source gmapT :: (forall b. Data b => b -> b) -> Bool -> Bool Source gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bool -> r Source gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bool -> r Source gmapQ :: (forall d. Data d => d -> u) -> Bool -> [u] Source gmapQi :: Int -> (forall d. Data d => d -> u) -> Bool -> u Source gmapM :: Monad m => (forall d. Data d => d -> m d) -> Bool -> m Bool Source gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Bool -> m Bool Source gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Bool -> m Bool Source | |
Ord Bool | |
Read Bool | Since: base-2.1 |
Show Bool | Since: base-2.1 |
Ix Bool | Since: base-2.1 |
Generic Bool | Since: base-4.6.0.0 |
FiniteBits Bool | Since: base-4.7.0.0 |
Defined in Data.Bits MethodsfiniteBitSize :: Bool -> Int Source countLeadingZeros :: Bool -> Int Source countTrailingZeros :: Bool -> Int Source | |
Bits Bool |
Interpret Since: base-4.7.0.0 |
Defined in Data.Bits Methods(.&.) :: Bool -> Bool -> Bool Source (.|.) :: Bool -> Bool -> Bool Source xor :: Bool -> Bool -> Bool Source complement :: Bool -> Bool Source shift :: Bool -> Int -> Bool Source rotate :: Bool -> Int -> Bool Source setBit :: Bool -> Int -> Bool Source clearBit :: Bool -> Int -> Bool Source complementBit :: Bool -> Int -> Bool Source testBit :: Bool -> Int -> Bool Source bitSizeMaybe :: Bool -> Maybe Int Source isSigned :: Bool -> Bool Source shiftL :: Bool -> Int -> Bool Source unsafeShiftL :: Bool -> Int -> Bool Source shiftR :: Bool -> Int -> Bool Source unsafeShiftR :: Bool -> Int -> Bool Source rotateL :: Bool -> Int -> Bool Source | |
Storable Bool | Since: base-2.1 |
Defined in Foreign.Storable | |
type Rep Bool | |
(&&) :: Bool -> Bool -> Bool infixr 3 Source
Boolean "and"
(||) :: Bool -> Bool -> Bool infixr 2 Source
Boolean "or"
Boolean "not"
otherwise
is defined as the value True
. It helps to make guards more readable. eg.
f x | x < 0 = ... | otherwise = ...
bool :: a -> a -> Bool -> a Source
Case analysis for the Bool
type. bool x y p
evaluates to x
when p
is False
, and evaluates to y
when p
is True
.
This is equivalent to if p then y else x
; that is, one can think of it as an if-then-else construct with its arguments reordered.
Basic usage:
>>> bool "foo" "bar" True "bar" >>> bool "foo" "bar" False "foo"
Confirm that bool x y p
and if p then y else x
are equivalent:
>>> let p = True; x = "bar"; y = "foo" >>> bool x y p == if p then y else x True >>> let p = False >>> bool x y p == if p then y else x True
Since: base-4.7.0.0
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.8.3/docs/html/libraries/base-4.13.0.0/Data-Bool.html