summaryrefslogtreecommitdiff
path: root/ghc/lib/glaExts
diff options
context:
space:
mode:
authorsimonm <unknown>1997-12-04 14:55:29 +0000
committersimonm <unknown>1997-12-04 14:55:29 +0000
commit0db1f01c3b3c65d5c5835109fda4ac0de2a978e1 (patch)
treed42bb0619b03713f7e39dfc2eaa411923c932567 /ghc/lib/glaExts
parent2caf4c69ddfb11eff5f92c904420ba15f6054fb8 (diff)
downloadhaskell-0db1f01c3b3c65d5c5835109fda4ac0de2a978e1.tar.gz
[project @ 1997-12-04 14:55:29 by simonm]
lazify strictToLazyST a bit.
Diffstat (limited to 'ghc/lib/glaExts')
-rw-r--r--ghc/lib/glaExts/LazyST.lhs7
1 files changed, 5 insertions, 2 deletions
diff --git a/ghc/lib/glaExts/LazyST.lhs b/ghc/lib/glaExts/LazyST.lhs
index b8480dfa2a..4c44e30ab4 100644
--- a/ghc/lib/glaExts/LazyST.lhs
+++ b/ghc/lib/glaExts/LazyST.lhs
@@ -100,8 +100,11 @@ unsafeFreezeSTArray (STArray arr) = strictToLazyST (unsafeFreezeArray arr)
strictToLazyST :: STBase.ST s a -> ST s a
strictToLazyST (STBase.ST m) = ST $ \s ->
- let STBase.S# s# = s in
- case m s# of { STBase.STret s2# r -> (r, STBase.S# s2#) }
+ let
+ STBase.S# s# = s
+ STBase.STret s2# r = m s#
+ in
+ (r, STBase.S# s2#)
lazyToStrictST :: ST s a -> STBase.ST s a
lazyToStrictST (ST m) = STBase.ST $ \s ->