Re: Getting different results than Schrijvers

Feliks Kluzniak <[email protected]> Fri, 4 Apr 2014 21:13:18 +0200
Newsgroups gmane.comp.ai.prolog.swi
Message-ID <[email protected]>
> The other one is a case of bad code.
> 
> neq(X,Y) <=> X \= Y | true.
> 
> This breaks one of the requirements of CHR: variables cannot be bound in
> the guard.  Since X \= Y is \+ X = Y, the runtime is screwing up because
> there is an attempt to unify. 

Most interesting!

But shouldn’t this be treated as an error in the implementation?  One can view it as a good example of a leaking interface.  People are sure to trip over this time and time again.

— Feliks