[Haskell-cafe] enforcing strictness on arbitrary subexpressions
Nils Anders Danielsson
nad at cs.chalmers.se
Wed Mar 1 11:57:01 EST 2006
On Thu, 16 Feb 2006, Udo Stenzel <u.stenzel at web.de> wrote:
>> hPutStr stdout $ foldr seq veryLongString veryLongString
>
> There is no primitive to do this for arbitrary data types, but the
> DeepSeq type class comes close. You can find DeepSeq and some more
> hints on strict evaluation at
> <http://users.aber.ac.uk/afc/stricthaskell.html>.
You can also use Control.Parallel.Strategies:
Prelude Control.Parallel.Strategies> take 2 (repeat 'x')
"xx"
Prelude Control.Parallel.Strategies> take 2 (repeat 'x' `using` rnf)
"
(No more output.)
--
/NAD
More information about the Haskell-Cafe
mailing list