blob: 3650283986d57d425df394640c757d0ac9d170cb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
{-# LANGUAGE MultiWayIf #-}
module MultiWayIf where
foo = if | test1 -> e1
| test2 witharg -> e2
| otherwise -> def
bar = if { | test1 -> if { | test2 -> e1
| test3 -> e2 }
| test4 -> e3
}
-- taken from GHC's test suite
x = 10
x1 = if | x < 10 -> "< 10" | otherwise -> ""
x2 = if | x < 10 -> "< 10"
| otherwise -> ""
x3 = if | x < 10 -> "< 10"
| otherwise -> ""
x4 = if | True -> "yes"
x5 = if | True -> if | False -> 1 | True -> 2
x6 = if | x < 10 -> if | True -> "yes"
| False -> "no"
| otherwise -> "maybe"
x7 = (if | True -> 0)
-- issue #98
spam = if | () <- () -> ()
|