[comp.lang.prolog] PROLOG Digest V5 #34

PROLOG-REQUEST@SUSHI.STANFORD.EDU (Chuck Restivo, The Moderator) (05/03/87)

PROLOG Digest             Monday, 4 May 1987       Volume 5 : Issue 34

Today's Topics:
        Implementation - CPUtime & Metainterpreter & Compare/3
----------------------------------------------------------------------

Date: Fri, 1 May 87 11:22:11 EDT
From: Arun Lakhotia <arun%case.csnet@RELAY.CS.NET>
Subject: cputime

 'cputime' can be used in an arithmetic expression.

  T1 is cputime, dosomething, T is cputime - T1, write(T).

-- Arun Lakhotia

------------------------------

Date: Fri 1 May 87 13:25:38-CDT
From: Dave Plummer <Atp.Plummer@R20.UTEXAS.EDU>
Subject: bug in O'Keefe's interpreter

The situation with O'Keefe's interpreter is worse than Stott Parker
indicates, and you don't have to go to the complicated example he
gives to see it.  Consider:

foo :- (true;true), true.

The problem is not with left associative conjunctions, or with
expressions containing cut, but the fact that the interpreter assumes
that the left conjunct of a conjunction will always be a simple goal.

-- Dave

------------------------------

Date: Sat 2 May 87 11:43:24-CDT
From: Dave Plummer <Atp.Plummer@R20.UTEXAS.EDU>
Subject: O'Keefe's interpreter

I was surprised to be told that system((_;_)) is true in C-Prolog.  In
this case the query that I suggested to indicate a bug in Richard
O'Keefe's interpreter does indeed succeed. (Sorry Richard)

However, of course the interpreter does not look inside the call to
the disjunction.  This makes the interpreter less useful as the basis
as, for example, a debugger (the use for it that I was looking at).

It seems to me that a definition of system/1 which includes ;/2, ->/2
but from Stott's comments does not include ,/2 is a shade confusing.

-- Dave

------------------------------

Date: 24 Apr 87 09:44:36 GMT
From: Alain Callebaut <mcvax!prlb2!kulcs!alain@seismo.css.gov>  
Subject: Compare/3 problem

I tried this on my favourite WAM-based Prolog (which is BIM-Prolog).
As you prefer, "?- test." did SUCCEED.  Perhaps you can also try the
following program :

        test :-  write(_x), write(_x) .

Now, "?- test." should write twice the same numbered variable.  (In
BIM-Prolog it does.)

So, should write/1 (and many others) also globalize variables ?

------------------------------

End of PROLOG Digest
***************for dw