bug in language definition (strictness)

Peter Gammie peteg42 at gmail.com
Fri Aug 7 04:37:24 EDT 2009


On 07/08/2009, at 6:04 PM, Simon Marlow wrote:
> If, as I understand it, you are relying on the fact that seq's first  
> argument is evaluted before its second, then you really want pseq  
> rather than seq.
>
> This is the sense in which I mean it's a dangerous use of seq and  
> unsafePerformIO - because the compiler is within its rights to  
> evaluate the second argument to seq "first".
>
> In GHC we provide a way to do what you want (pseq), I'm just not  
> convinced it should be the required behaviour of seq.

OK, thanks for pointing that out. I would have thought that what I was  
doing (or trying to do) was a reasonable use of the FFI and  
unsafePerformIO - from the library user's POV the interface really is  
pure, at least in a sequential setting. So should there be a mechanism  
for guaranteeing left-to-right evaluation ala pseq in Haskell Prime?

cheers
peter


More information about the Haskell-prime mailing list