Results 1  10
of
533
The Integration of Functions into Logic Programming: From Theory to Practice
 Journal of Logic Programming
, 1994
"... Abstract. Functional logic programming languages combine the most important declarative programming paradigms, and attempts to combine these paradigms have a long history. The declarative multiparadigm language Curry is influenced by recent advances in the foundations and implementation of function ..."
Abstract

Cited by 362 (59 self)
 Add to MetaCart
Abstract. Functional logic programming languages combine the most important declarative programming paradigms, and attempts to combine these paradigms have a long history. The declarative multiparadigm language Curry is influenced by recent advances in the foundations and implementation of functional logic languages. The development of Curry is an international initiative intended to provide a common platform for the research, teaching, and application of integrated functional logic languages. This paper surveys the foundations of functional logic programming that are relevant for Curry, the main features of Curry, and extensions and applications of Curry and functional logic programming. 1
XSB as an Efficient Deductive Database Engine
 In Proceedings of the ACM SIGMOD International Conference on the Management of Data
, 1994
"... This paper describes the XSB system, and its use as an inmemory deductive database engine. XSB began from a Prolog foundation, and traditional Prolog systems are known to have serious deficiencies when used as database systems. Accordingly, XSB has a fundamental bottomup extension, introduced thro ..."
Abstract

Cited by 238 (32 self)
 Add to MetaCart
(Show Context)
This paper describes the XSB system, and its use as an inmemory deductive database engine. XSB began from a Prolog foundation, and traditional Prolog systems are known to have serious deficiencies when used as database systems. Accordingly, XSB has a fundamental bottomup extension, introduced through tabling (or memoing) [5], which makes it appropriate as an underlying query engine for deductive database systems. Because it eliminates redundant computation, the tabling extension makes XSB able to compute all modularly stratified datalog programs finitely and with polynomial data complexity. For nonstratified programs, a metainterpreter with the same properties is provided. In addition XSB significantly extends and improves the indexing capabilities over those of standard Prolog. Finally, its syntactic basis in HiLog [2], lends it flexibility for data modelling. The implementation of XSB derives from the WAM, the most common Prolog engine. XSB inherits the WAM's efficiency and can ta...
The execution algorithm of Mercury, an efficient purely declarative logic programming language
, 1996
"... Machine or WAM. Section 5 describes some optimizations and shows how Mercury handles I/O. Section 6 gives the current state of the Mercury system while section 7 presents performance results. 2. The Mercury language Syntactically, Mercury is similar to Prolog with additional declarations, partly b ..."
Abstract

Cited by 214 (24 self)
 Add to MetaCart
(Show Context)
Machine or WAM. Section 5 describes some optimizations and shows how Mercury handles I/O. Section 6 gives the current state of the Mercury system while section 7 presents performance results. 2. The Mercury language Syntactically, Mercury is similar to Prolog with additional declarations, partly because Prolog syntax is standard in the logic programming community and partly because this made it simple to execute Mercury programs using Prolog systems early in our project. Semantically, however, Mercury is very different from Prolog. Mercury is a pure logic programming language with a welldefined declarative semantics. Like Godel [14], Mercury provides declarative replacements for Prolog 's nonlogical features. Unlike Godel, Mercury does not retain any nonlogical features; in Mercury even I/O is declarative. Mercury is designed to appeal to at least two groups of programmers. One group is those with backgrounds in imperative languages such as C who are looking for a higher level an...
Logical Models of Argument
 ACM COMPUTING SURVEYS
, 2000
"... Logical models of argument formalize commonsense reasoning while taking process and computation seriously. This survey discusses the main ideas which characterize different logical models of argument. It presents the formal features of a few main approaches to the modeling of argumentation. We trace ..."
Abstract

Cited by 194 (39 self)
 Add to MetaCart
Logical models of argument formalize commonsense reasoning while taking process and computation seriously. This survey discusses the main ideas which characterize different logical models of argument. It presents the formal features of a few main approaches to the modeling of argumentation. We trace the
DESIGN, IMPLEMENTATION, AND EVALUATION OF THE CONSTRAINT LANGUAGE cc(FD)
 J. LOGIC PROGRAMMING 1994:19, 20:1679
, 1994
"... This paper describes the design, implementation, and applications of the constraint logic language cc(FD). cc(FD) is a declarative nondeterministic constraint logic language over finite domains based on the cc framework [33], an extension of the CLP scheme [21]. Its constraint solver includes (nonl ..."
Abstract

Cited by 188 (11 self)
 Add to MetaCart
This paper describes the design, implementation, and applications of the constraint logic language cc(FD). cc(FD) is a declarative nondeterministic constraint logic language over finite domains based on the cc framework [33], an extension of the CLP scheme [21]. Its constraint solver includes (nonlinear) arithmetic constraints over natural numbers which are approximated using domain and interval consistency. The main novelty of cc(FD) is the inclusion of a number of generalpurpose combinators, in particular cardinality, constructive disjunction, and blocking implication, in conjunction with new constraint operations such as constraint entailment and generalization. These combinators significantly improve the operational expressiveness, extensibility, and flexibility of CLP languages and allow issues such as the definition of nonprimitive constraints and disjunctions to be tackled at the language level. The implementation of cc(FD) (about 40,000 lines of C) includes a WAMbased engine [44], optimal arcconsistency algorithms based on AC5 [40], and incremental implementation of the combinators. Results on numerous problems, including scheduling, resource allocation, sequencing, packing, and hamiltonian paths are reported and indicate that cc(FD) comes close to procedural languages on a number of combinatorial problems. In addition, a small cc(FD) program was able to find the optimal solution and prove optimality to a famous 10/10 disjunctive scheduling problem [29], which was left open for more than 20 years and finally solved in 1986.
Compiling Constraints in clp(FD)
, 1996
"... We present the clp(FD) system: a Constraint Logic Programming language with finite domain constraints... ..."
Abstract

Cited by 174 (24 self)
 Add to MetaCart
We present the clp(FD) system: a Constraint Logic Programming language with finite domain constraints...
A Prolog Technology Theorem Prover: Implementation by an Extended Prolog Compiler
 Journal of Automated Reasoning
, 1987
"... A Prolog technology theorem prover (PTTP) is an extension of Prolog that is complete for the full firstorder predicate calculus. It differs from Prolog in its use of unification with the occurs check for soundness, the modelelimination reduction rule that is added to Prolog inferences to make the ..."
Abstract

Cited by 109 (2 self)
 Add to MetaCart
(Show Context)
A Prolog technology theorem prover (PTTP) is an extension of Prolog that is complete for the full firstorder predicate calculus. It differs from Prolog in its use of unification with the occurs check for soundness, the modelelimination reduction rule that is added to Prolog inferences to make the inference system complete, and depthfirst iterativedeepening search instead of unbounded depthfirst search to make the search strategy complete. A Prolog technology theorem prover has been implemented by an extended PrologtoLISP compiler that supports these additional features. It is capable of proving theorems in the full firstorder predicate calculus at a rate of thousands of inferences per second. 1 This is a revised and expanded version of a paper presented at the 8th International Conference on Automated Deduction, Oxford, England, July 1986, and is to appear in Journal of Automated Reasoning. This research was supported by the Defense Advanced Research Projects Agency under Co...
A Demand Driven Computation Strategy for Lazy Narrowing
 In Proc. of the 5th International Symposium on Programming Language Implementation and Logic Programming
, 1993
"... . Many recent proposals for the integration of functional and logic programming use conditional term rewriting systems (CTRS) as programs and narrowing as goal solving mechanism. This paper specifies a computation strategy for lazy conditional narrowing, based on the idea of transforming patterns in ..."
Abstract

Cited by 99 (8 self)
 Add to MetaCart
(Show Context)
. Many recent proposals for the integration of functional and logic programming use conditional term rewriting systems (CTRS) as programs and narrowing as goal solving mechanism. This paper specifies a computation strategy for lazy conditional narrowing, based on the idea of transforming patterns into decision trees to control the computation. The specification is presented as a translation of CTRS into Prolog, which makes it executable and portable. Moreover, in comparison to related approaches, our method works for a wider class of CTRS. 1 Introduction Many recent approaches to the integration of functional and logic programming take conditional term rewriting systems (CTRS) as programs and narrowing as goal solving mechanism. Narrowing is complete as an equation solving procedure, under suitable hypotheses, see e.g. [7]. In general, narrowing has a high degree of (don't know) nondeterminism, due to two different sources: the choice of the redex, and the choice of the rewriting rule...