fork download
  1. import Control.Monad
  2. import Data.Maybe
  3.  
  4. safe f [] = Nothing
  5. safe f xs = Just $ f xs
  6.  
  7. xmin a b = safe minimum $ catMaybes [a, b]
  8.  
  9. main = do
  10. print $ xmin (Just 2) (Just 3)
  11. print $ xmin (Nothing) (Just 3)
  12. print $ xmin (Just 2) (Nothing)
  13. print $ xmin (Nothing::Maybe Int) (Nothing)
Success #stdin #stdout 0s 6272KB
stdin
Standard input is empty
stdout
Just 2
Just 3
Just 2
Nothing