[project @ 1998-12-02 13:17:09 by simonm]
[ghc-hetmet.git] / ghc / interpreter / test / exts / refs2.hs
1 --!!! Testing Mutvars
2
3 import ST
4
5 -- Note: equivalent code of the form: show (runST (newSTRef 'a' ...))
6 -- won't typecheck under Hugs 1.01.
7
8 a1 = show (runST prog)
9  where
10   prog :: ST s Char
11   prog =
12         newSTRef 'a'    >>= \ v ->
13         readSTRef v
14
15 a2 = show (runST prog)
16  where
17   prog :: ST s Char
18   prog =
19         newSTRef 'a'            >>= \ v ->
20         writeSTRef v 'b'        >>
21         readSTRef v
22
23 a3 = show (runST prog)
24  where
25   prog :: ST s (Bool,Bool,Bool)
26   prog =
27         newSTRef 'a'            >>= \ v1 ->
28         newSTRef 'a'            >>= \ v2 ->
29         return (v1 == v1, v1 == v2, v2 == v2)
30