Difference between revisions of "Talk:Performance/Strictness"
Jump to navigation
Jump to search
DonStewart (talk | contribs) (REVERT SPAM) |
(removed) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | I removed the following: |
||
+ | <blockquote>NB. do not do this if the expression on the right of $! is a variable - that just wastes effort, because it does not eliminate a suspension. The only reason to do this would be if you were eliminating a space leak.</blockquote> |
||
+ | because |
||
+ | <pre-haskell> |
||
+ | test = let |
||
+ | x = undefined |
||
+ | in (const 0) $! x |
||
+ | </pre-haskell> |
||
+ | yields exception and substituting ($) for ($!) yields 0. So ($!) does eliminate a suspension. |
||
+ | --[[User:Beroal|beroal]] 16:58, 16 June 2010 (UTC) |
Latest revision as of 16:58, 16 June 2010
I removed the following:
NB. do not do this if the expression on the right of $! is a variable - that just wastes effort, because it does not eliminate a suspension. The only reason to do this would be if you were eliminating a space leak.
because <pre-haskell> test = let
x = undefined in (const 0) $! x
</pre-haskell> yields exception and substituting ($) for ($!) yields 0. So ($!) does eliminate a suspension. --beroal 16:58, 16 June 2010 (UTC)