Copyright | (c) The University of Glasgow 2001 |
---|---|
License | BSD-style (see the file libraries/base/LICENSE) |
Maintainer | libraries@haskell.org |
Stability | stable |
Portability | portable |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
Data.Bool
Contents
Description
The Bool
type and related functions.
Booleans
Instances
Instances details
Instance details
Defined in Data.Data
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 :: 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 #
Instance details
Defined in Foreign.Storable
Methods
sizeOf :: Bool -> Int Source #
alignment :: Bool -> Int Source #
peekElemOff :: Ptr Bool -> Int -> IO Bool Source #
pokeElemOff :: Ptr Bool -> Int -> Bool -> IO () Source #
peekByteOff :: Ptr b -> Int -> IO Bool Source #
pokeByteOff :: Ptr b -> Int -> Bool -> IO () Source #
Instance details
Defined in GHC.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 #
bitSize :: Bool -> 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 #
Instance details
Defined in GHC.Ix
Instance details
Defined in GHC.Classes
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
Expand
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 x
True>>>
let p = False
>>>
bool x y p == if p then y else x
True
Since: base-4.7.0.0