[net.lang.prolog] compiler bug with not?

jimc@ukc.UUCP (J.A.Crammond) (08/25/83)

We have Prolog-10 version 3 running on our DEC-10 and I was testing
out the \+ evaluable predicate seeing whether the clause "\+(member(X,L)"
was any faster than an explicit "not_member(X,L)" in a program I had written.

Below are the approximate runtimes of the incore compiler and interpreter
running this program. (NB I was the only user on the system at the time).

                interpreter             compile

not_member(X,L)    2+23                   8+4

\+(member(X,L))    2+22                   8+158


The time X+Y indicates "compile time"+"execute time" in seconds.


Clearly the compiler is doing some thing VERY odd with \+(P).
Any one come across this before?

                Jim Crammond,   Leeds University.