Case Expressions

Case Expressions

With case we can also pattern match on the value after some computations when there is no need to bind the intermediate result.

plus :: (Integer, Integer) -> Integer
plus (x, y) = x + y

sumUpTo :: Integer -> (Integer, Integer) -> Boolean
sumUpTo x p = case plus p of
                10 -> true
                _ -> false
> sumUpTo 1 (2,3)
false

> sumUpTo 1 (2,8)
true