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
********************