Detect arithmetic underflow with unsigned integers
module Main
( main
) where
sub :: Word -> Word -> Maybe Word
sub a b | a >= b = Just (a - b)
| otherwise = Nothing
main :: IO ()
main = do
print $ sub 2 1
print $ sub 1 2
INFO
module Main
( main
) where
sub :: Word -> Word -> Maybe Word
sub a b | a >= b = Just (a - b)
| otherwise = Nothing
main :: IO ()
main = do
print $ sub 2 1
print $ sub 1 2