diff options
| author | simonm <unknown> | 1997-12-04 14:55:29 +0000 |
|---|---|---|
| committer | simonm <unknown> | 1997-12-04 14:55:29 +0000 |
| commit | 0db1f01c3b3c65d5c5835109fda4ac0de2a978e1 (patch) | |
| tree | d42bb0619b03713f7e39dfc2eaa411923c932567 /ghc/lib/glaExts | |
| parent | 2caf4c69ddfb11eff5f92c904420ba15f6054fb8 (diff) | |
| download | haskell-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.lhs | 7 |
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 -> |
