[Haskell-cafe] generating Maybe

Tim Newsham newsham at lava.net
Wed Nov 7 15:40:27 EST 2007


Data.Maybe has functions for processing Maybe's but nothing useful
for creating maybe.  I think the following would be a very useful
addition, a guarded function:

     guarded :: (a -> Bool) -> (a -> b) -> a -> Maybe b
     guarded p f x | p x       = Just (f x)
                   | otherwise = Nothing

such a function in the std libs would make functions like "unfoldr"
more attractive -- uses of foldr nearly always encapsulate this
notion.

Tim Newsham
http://www.thenewsh.com/~newsham/


More information about the Haskell-Cafe mailing list