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
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime