Add Data.Bool.bool (fixes #8302)
authorOliver Charles <ollie@ocharles.org.uk>
Sun, 15 Sep 2013 00:23:56 +0000 (01:23 +0100)
committerJoachim Breitner <mail@joachim-breitner.de>
Mon, 16 Sep 2013 15:04:20 +0000 (17:04 +0200)
Data/Bool.hs

index 2f80c97..9f6ce04 100644 (file)
@@ -23,9 +23,16 @@ module Data.Bool (
    (||),
    not,
    otherwise,
+   bool,
   ) where
 
 #ifdef __GLASGOW_HASKELL__
 import GHC.Base
 #endif
 
+-- | Case analysis for the 'Bool' type.
+-- @bool a b p@ evaluates to @a@ when @p@ is @False@, and evaluates to @b@
+-- when @p@ is @True@.
+bool :: a -> a -> Bool -> a
+bool f _ False = f
+bool _ t True  = t