Description
A fold function for Bool.
Description
The bool
function allows folding over boolean values.
This is comparable to the maybe
or either
functions on their respective types.
The bool
function is a replacement for the build-in if then else
-syntax. However, since it is a function, it can be partially applied and passed around to higher order functions, like so:
ghci> :m + Data.Bool.Extras
ghci> let yesOrNo = bool "no" "yes"
ghci> map yesOrNo [True, False, True]
["yes", "no", "yes"]
Note that the arguments to bool
are in the opposite order of the if then else
-syntax; First the false value, then the true value, and finally the boolean.