> The expression 
> 
> let x=[1..] in x==x 
> would not terminate in the first case but succeed in the second. 

But, much worse

        let x = (a,b) in x `req` x      = True
but
        (a,b) `req` (a,b)                       = False

So referential transparency is lost.  This is a high price to pay.
You are right that *something* is needed; but I don't yet know what.

Meanwhile Jeff Lewis has a BDD library accessible from Haskell, I believe.
        [EMAIL PROTECTED]

Simon

> I came up when I tried to implement Binary Decision Diagrams in 
> Haskell some years ago and I have the impression that I need them 
> again soon. It ould be so much nicer with this operation.


Reply via email to