> 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.