bool function allows folding over boolean values.
This is comparable to the
on their respective types.
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
if then else-syntax; First the false value, then
the true value, and finally the boolean.