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