Safe Haskell | Safe |
---|---|

Language | Haskell98 |

# Documentation

Case analysis for the `Bool`

type.

evaluates to `bool`

x y p`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.

#### Examples

Basic usage:

`>>>`

"bar"`bool "foo" "bar" True`

`>>>`

"foo"`bool "foo" "bar" False`

Confirm that

and `bool`

x y p`if p then y else x`

are
equivalent:

`>>>`

`let p = True; x = "bar"; y = "foo"`

`>>>`

True`bool x y p == if p then y else x`

`>>>`

`let p = False`

`>>>`

True`bool x y p == if p then y else x`

*Since: 4.7.0.0*