on c2b32da help sign in
81 lines 906 B history raw
1{-# LANGUAGE RecursiveDo #-}
3bar = do
4 foo
5 bar
7baz =
8 mdo
9 bar a
10 a <- foo
11 b <-
12 bar
13 1
14 2
15 3
16 return (a + b)
18baz = do
19 a <- foo
20 let b = a + 2
21 c = b + 3
22 bar c
23 let d = c + 2
24 return d
26quux = something $ do
27 foo
28 case x of
29 1 -> 10
30 2 -> 20
31 bar
32 if something
33 then x
34 else y
35 baz
37foo = do
38 rec a <- b + 5
39 let d = c
40 b <- a * 5
41 something
42 c <- a + b
43 print c
44 rec something $ do
45 x <- a
46 print x
47 y <- c
48 print y
50trickyLet = do
51 foo
52 let x = 5
53 in bar x
55f = unFoo . foo bar baz 3 $ do
56 act
57 ret
59g = unFoo
60 . foo
61 bar
62 baz
63 3 $ do
64 act
65 ret
67main =
68 do stuff
69 `finally` do
70 recover
72foo =
73 do
74 1
75 + 2
77-- single line let-where
78samples n f = do
79 gen <- newQCGen
80 let rands g = g1 : rands g2 where (g1, g2) = split g
81 return $ rands gen