ref: cc5f799ee6b51ce2859a74dbcd36b484d805732c
dir: /tests/MultiIf.hs/
module MultiIf where
f :: Int -> Int
f x =
let (a, b) | x == 0 = (2,3)
| otherwise = (3, 4)
(c, d) = (10, 11)
in a*c + b*d
g :: Int -> Int
g x =
if { | x < 0 -> -1
; | x == 0 -> 0
; | x > 0 -> 1 }
h :: Int -> Int
h x =
if | x < 0 -> if | x < -10 -> -2
| otherwise -> -1
| x == 0 -> 0
| x > 0 -> 1
main :: IO ()
main = do
print (f 0)
print (f 1)
print (g 100)
print (g 0)
print (g (-5))
print (h (-100))
print (h (-2))
print (h 0)
print (h 100)