Hi,

>>>>> "Bjorn" == Bjorn Lisper <[EMAIL PROTECTED]> writes:

    Bjorn> I imagine expressions like x==x could appear as the result of
    Bjorn> transformations in program specialisation, like specialising

    Bjorn> f x x

    Bjorn> where

    Bjorn> f x y = if x==y then ....

    Bjorn> Replacing x==x with True is of course still unsafe in
    Bjorn> Haskell, for the reasons already pointed out.

that's true, of course. Furthermore, aside from "x==x", optimizations 
could deal with "x-x", "x && (not x)" and many other expressions.

Concerning "safety". As far as I can see there is only a single reason:
Partially correct programs terminate more often. Doesn't
that meet the philosophy behind laziness?

Christoph






Reply via email to