| Copyright | (c) The University of Glasgow 2001 |
|---|---|
| License | BSD-style (see the file libraries/base/LICENSE) |
| Maintainer | libraries@haskell.org |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | Trustworthy |
| Language | Haskell2010 |
Data.Bool
Contents
Description
The Bool type and related functions.
Synopsis
Booleans
data Bool :: *
Instances
Methods
gfoldl :: (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 :: (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
Methods
finiteBitSize :: Bool -> Int Source
countLeadingZeros :: Bool -> Int Source
countTrailingZeros :: Bool -> Int Source
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
Operations
bool :: a -> a -> Bool -> a Source
Case analysis for the Bool type. evaluates to bool x y px
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.
Examples
Basic usage:
>>>bool "foo" "bar" True"bar">>>bool "foo" "bar" False"foo"
Confirm that and bool x y pif p then y else x are
equivalent:
>>>let p = True; x = "bar"; y = "foo">>>bool x y p == if p then y else xTrue>>>let p = False>>>bool x y p == if p then y else xTrue
Since: 4.7.0.0