summaryrefslogtreecommitdiff
path: root/testsuite/tests/printer/Ppr039.hs
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 | () <- () -> ()