Not lazy/smart enough
Alastair David Reid
reid@cs.utah.edu
01 Nov 2001 10:11:29 -0700
>>>>> "Sohrab" == Sohrab Saran <sohrabsaran@hotmail.com> writes:
> If at the Hugs interpreter prompt I type:
> 3/4 == 3/4
> ...I get "True"
> If I now type:
> 3/0 == 3/0
> ...I should get "True" but I get a divide-by-zero error
> instead. Anyone ready to fix this, or should I fix this myself?
I don't believe this is a bug.
Suppose we adopt your proposal, I think we'd also want to add the
following equalities too:
1. f 3 == f 3 = True
2. f 3 == g 3 = True where g x = f x
3. f 3 == g 3 = True where g x = x / 0; f x = x / 0
4. f 3 == g 3 = True where g is semantically equivalent to f
The problem with this is that it's hard to say why we'd accept 1-3 but
not accept 4 and accepting 4 requires us to solve the halting problem.
--
Alastair Reid reid@cs.utah.edu http://www.cs.utah.edu/~reid/