Hi,

    John> There's an easier way to force structures hyperstrictly. To
    John> force x to be evaluated to normal form before computing y,
    John> write (x==x) `seq` y 

I'm heavily confused here.

What happens, if 

   (a) an optimizer replaces (x==x) by True?
       If the optimizer is not permitted to do that,
       its power appears to be limited severely.

   (b) a run-time system thinks pointer equality implies value equality?

Are these issues officially documented for Haskell98,
beyond the fact that "seq _|_ x = _|_" ?
-- 
 Christoph Herrmann
 E-mail:  [EMAIL PROTECTED]
 WWW:     http://brahms.fmi.uni-passau.de/cl/staff/herrmann.html

Reply via email to