Foundations of logic programming
Foundations of logic programming
Programming in Prolog (2nd ed.)
Programming in Prolog (2nd ed.)
Automating control for logic programs
Journal of Logic Programming
Logic programming: functions, relations, and equations
Logic programming: functions, relations, and equations
An intelligent backtracking algorithm for parallel execution of logic programs
Proceedings on Third international conference on logic programming
Logic for problem-solving
Programming in an Interactive Environment: the ``Lisp'' Experience
ACM Computing Surveys (CSUR)
A Deductive Approach to Program Synthesis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Implementation of PROLOG
Making control and data flow in logic programs explicit
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Rapid prototyping: in the OBJ executable specification language
Proceedings of the workshop on Rapid prototyping
The SNOBOL 4 programming language
The SNOBOL 4 programming language
Problem-Solving Methods in Artificial Intelligence
Problem-Solving Methods in Artificial Intelligence
Hi-index | 0.00 |
A new approach to goal-oriented programming is described, whereby the search for values of variables to satisfy a goal is invariably directed by that goal or by information provided by its failure. This goal-directed approach is in contrast to that employed by logic programming systems, which attempt to satisfy a goal that has failed by resatisfying an already tested goal, and which furthermore do this in a way determined solely by the order of facts and rules in the database and without reference to the goal that has failed. Proposed changes in the control structure of logic programs designed to improve their execution serve more to reduce the search space than to add goal direction. A goal-directed language that embodies the new approach is presented. It is at the same time a functional programming language and a specification interpreter for the direct execution and testing of functional specifications, and permits the user to write executable program descriptions in which some of the constituent functions are fully defined while others are “merely” specified. The language has been successfully tested on examples drawn from such fields as deductive question answering and problem solving, where it compares favorably with the logic programming languages.