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