bug in language definition (strictness)
Simon Marlow
marlowsd at gmail.com
Thu Aug 6 11:59:43 EDT 2009
On 06/08/2009 15:33, Malcolm Wallace wrote:
>> What semantics would you like Haskell to have, in which (x `seq` y
>> `seq` e) and (y `seq` x `seq` e) are not equal?
>
> I can easily imagine that (x `seq` y `seq` e) might have *two* semantic
> denotations: bottom (Exception: stack overflow), and e. And I would like
> to be able to choose which one I get (please). This is the declared
> purpose of seq, namely "to improve performance by avoiding unneeded
> laziness".
I'm afraid I don't really comprehend what you're getting at. What do
you mean by an expression having two semantic denotations, and how would
you like to choose which one you get? And I'm baffled by the mention of
stack overflow, where does that come in?
Cheers,
Simon
More information about the Haskell-prime
mailing list