[Haskell-cafe] ST not strict enough?
Duncan Coutts
duncan.coutts at googlemail.com
Fri Nov 18 15:54:07 CET 2011
On 18 November 2011 13:17, Daniel Fischer
<daniel.is.fischer at googlemail.com> wrote:
> On Friday 18 November 2011, 13:05:06, Yves Parès wrote:
>> ...so there is no way to do that inside the function passed to
>> modifySTRef? In other words, there is no way to ensure inside a
>> function that its result will be evaluated strictly?
>
> Well,
>
> modifySTRef ref fun = do
> val <- readSTRef ref
> writeSTRef ref (fun val)
But note therefore that you can just:
val <- readSTRef ref
writeSTRef ref $! fun val
rather than using modifySTRef.
Duncan
More information about the Haskell-Cafe
mailing list