[comp.lang.prolog] PROLOG Digest V4 #71

PROLOG-REQUEST@SU-SCORE.ARPA (Chuck Restivo, The Moderator) (11/13/86)

PROLOG Digest           Thursday, 13 Nov 1986      Volume 4 : Issue 71

Today's Topics:
                  Implementation - CProlog 1.5 bug,
                     LP Library - Theorem Prover,
                & Lauren Smith's Bibliography, Part R
----------------------------------------------------------------------

Date: Wed 12 Nov 86 10:38:41-PST
From: Fernando Pereira <PEREIRA@SRI-CANDIDE.ARPA>
Subject: C-Prolog 1.5 bug

The different behaviors of C-Prolog in debug or
nodebug mode when new clauses are added to an
active procedure are there by design.  When not
debugging, the interpreter recognizes it has got
to the last clause of a predicate and throws away
the corresponding choice point.  Thus any clauses
appended to the predicate will not be seen.
However, when debugging, the choice point has to
be kept so that appropriate information is printed
on a fail port.  Newly appended clauses are then
visible as a result.

Earlier versions of C-Prolog always removed the
choice point, but I got many complaints about the
incomplete debugging information, so I implemented
the current compromise.  Now this has the unfortunate
consequence that appended clauses will be seen by
active procedures when in debug mode but not otherwise.
However, I think this is a relatively small cost to
pay for better efficiency when not debugging and full
information when debugging.  What happens to active
procedures is not part of any accepted Prolog
specification, anyway, and different Prolog systems do
it differently, so relying on any particular behavior
is bad programming practice.

Now I believe that the correct behavior should be that
changes to a predicate are NEVER visible to active
invocations of the predicate, whatever the change
(assert, retract, etc.).  This is not easy to achieve
(I know of only one Prolog system that does it correctly)
and it would require a major rewrite of C-Prolog.  Given
this, I saw no reason to waste time nibbling at the edges
of the problem.

Finally, retract has always been nondeterminate.  This is
not a bug in C-Prolog, but just compliance with the
Edinburgh ``standard''.

-- Fernando Pereira
   (retired) C-Prolog implementer

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

Date: Mon, 10 Nov 86 10:53:42 est
From: David Plaisted <plaisted%unc.csnet@RELAY.CS.NET>
Subject: Prover

I just made some changes to allow specifying that certain
subgoals will not be cached.  This can save a lot of time.

You might mention to people that we may be updating the
code from time to time

[ David's prover and examples file are in the Library under
  SCORE:<Prolog>Plaisted.prover and Plaisted.examples -ed ]

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

Date: Wed 12 Nov 86 12:30:19-PST
From: Chuck Restivo  <Restivo@Score.Stanford.EDU>
Subject: Lauren Smith's Bibliography, Part R

RADE84a *
Radecki T.
Foundations of Fuzzy Information Retrieval
Technical Report No 84-019
Department of Computer Science, Louisianna State
University
1984

RAE85a *
Rae R.
BSI Prolog Standardisation
Sub-Commitee on Modules, Libraries, and Related
Subjects
Minutes of Second Meeting, Edinburgh, Thursday 31
October 1985
PS/86, 2 pages
November 1985

RAMA81a *
Ramamritham K. & Keller R.M.
Specifying And Proving Properties Of Sentinel
Processes
Proceedings of 5th International Conference on
Software Engineering
pp 374-382
March 1981

RAMS86a *
Ramsey A.
Distributed Versus Parallel Computing
Artificial Intelligence Review, 1, pp 11-25
1986

RAUL79a *
Raulefs P. & Siekmann J. & Szabo P. & Univericht E.
A Short Survey on the State of the Art in Matching
and Unification Problems
ACM SIGSAM Bulletin, Vol 13, No 2, pp 14-20
March 1979

REDD84a *
Reddy U.S.
Transformation of Logic Programs into Functional
Programs
Proc. 1984 Int'l Symp. on Logic Programming
pp 187-196
February 1984

REDD85a *
Reddy U.S.
Narrowing As The Operational Semantics Of Functional
Languages
IEEE 1985 Symposium on Logic Programming
pp 138-151
July 1985

REDD86a *
Reddy U.S.
On The Relationship between Logic and Functional
Languages
In DEGR86a, pp 3-36
1986

REED?? *
Reed G.M. & Roscoe A.W.
A Timed Model for Communicating Sequential Processes
(DRAFT)
Programming Research Group, Oxford University

REEV81a
Reeve M.
The ALICE Compiler Target Language
Document, Dept of Computing, Imperial College,
May 1981

REEV81b
Reeve M.
An Introduction to the ALICE Compiler Target
Language
Research Report, Dept of Computing, Imperial College,
July 1981

REEV84a *
Reeve M.
Towards Identifying The "Standard Interface" For
Declarative Systems
Architecture Research
Draft
Dept of Computing, Imperial College
13th April 1984

REEV85a *
Reeve M.
A BNF Description Of The Alice Compiler Target
Language
1985

REVE84a *
Revesz G.
An Extension Of Lambda-Calculus For Functional
Programming
Journal of Logic Programming, Vol 1, No 3, pp 241-252
October 1984

REYN72a
Reynolds J.C.
Definitional Interpreters For Higher Order
Programming Languages
Proc 25th ACM National Conf, pp 717-740
1972

REYN83a *
Reynolds J.C.
Types, Abstraction And Parametric Polymorphism
Invited Paper
Information Processing 1983, pp 513-523
1983

RICHA86a *
Richards M.
BSPL : A Language For Describing The Behaviour Of
Synchronous Hardware
Technical Report No. 84
University of Cambridge, Computer Laboratory
April 1986

RICHM82a *
Richmond G.
A Dataflow Implementation of SASL
Msc Thesis, Dept of Comp Sci, Univ. of Manchester,
October 1982.

RING86a *
Ringwood G.A.
The Dining Logicians
PARLOG Group, Dept of Computing, Imperial College
1986

ROBI65a
Robinson J.A.
A Machine Oriented Logic Based on The Resolution
Principle
J. Ass. Comput. Mach. 12, pp 23-41
1965

ROBI77a
Robinson J.A.
Logic: Form and Function
Edinburgh University Press
1979

ROBI83a *
Robinson J.A.
Logic Programming - Past, Present and Future
( Also in New Generation Computing, Vol 1, No 2, 1983 )
ICOT Research Center, Technical report TR-015
June 1983

ROSE85a
Rosenschein S.J.
Formal Theories of Knowledge in AI and Robotics
New Generation Computing, Vol 3, No 4, pp 345-357
1985

ROSS86a *
Ross M.L. Ramamohanarao K.
Paging Strategy For Prolog Based On Dynamic Virtual
Memory
Technical Report 86/8
Department of Computer Science, University of
Melbourne
1986

RUBI86a *
Rubinstein M.
Built-In Predicates - Database - PS/115
May 1986

RUSS10a,RUSS25a
Russell B. & Whitehead A.N.
Principia Mathematica
Cambridge University Press, 1910 & 1925

RYDE81a *
Rydeheard D.E.
Applications of Category Theory to Programming and
Program Specification
Department of Computer Science, University of
Edinburgh
Phd Thesis, CST-14-81
December 1981

RYDE85a *
Rydeheard D.E. & Burstall R.M.
The Unification of Terms: A Category-Theoretic
Algorithm
Dept of Comp Sci, Univ of Manchester, Technical
Report UMCS-85-8-1
August 1985

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

End of PROLOG Digest
********************