30 research outputs found
Our LIPS are sealed: interfacing logic and functional programming systems
technical reportWe report on a technique for interfacing an untyped logic language to a statically poly morphically typed functional language Our key insight is that polymorphic types can be interpreted as "need to know" specifications on function arguments. This leads to a criterion for liberally yet safely invoking the functional language to reduce application terms as required during unification in the logic language. This method called P unification enriches the capabilities of each language while retaining the integrity of their individual semantics and implementation technologies An experimental test has been successfully performed whereby a Horn clause logic programming (HCLP) interpreter written in Common Lisp was interfaced to the Standard ML of New Jersey system. The latter implementation was employed (i) on untyped or dynamically typed data, even though it is statically typed (ii) lazily, even though it is strict and (iii) on alien HCLP terms such as unbound variables - without the slightest modification
A grammatical view of logic programming
Résumé disponible dans les fichiers attaché
Modelling data dependencies in logic programs by attribute schemata
Résumé disponible dans les fichiers attaché
Relating logic programs and attribute grammars
Résumé disponible dans les fichiers attaché
On the role of semantic approximations in validation and diagnosis of constraint logic programs
Abstract is not available
CP debugging needs and tools
Conventional programming techniques are not well suited for solving many highly combinatorial industrial problems, like scheduling, decision making, resource allocation or planning. Constraint Programming (CP), an emerging software technology, offers an original approach allowing for efficient and flexible solving of complex problems, through combined implementation of various constraint solvers and expert heuristics. Its applications are increasingly elded in various industries
CP debugging tools: Clarification of functionalities and selection of the tools
Abstract is not available
Directional Types and the Annotation Method
This paper shows that the annotation proof method, proposed by Deransart for proving declarative properties of logic programs, is also applicable for proving correctness of directional types. In particular, the sufficient correctness criterion of well-typedness by Bronsard et al, turns out to be a specialization of the annotation method. The comparison shows a general mechanism for construction of similar specializations, which is applied to derive yet another concept of well-typedness. The usefulness of the new correctness criterion is shown on examples of Prolog programs, where the traditional notion of well-typedness is not applicable. We further show that the new well-typing condition can be applied to different execution models. This is illustrated by an example of an execution model where unification is controlled by directional types, and where our new well-typing condition is applied to show the absence of deadlock. / 1. INTRODUCTIO
Directional Types for Logic Programs and the Annotation Method
A directional type for a Prolog program expresses certain properties of the operational semantics of the program. This paper shows that the annotation proof method, proposed by Deransart for proving declarative properties of logic programs, is also applicable for proving correctness of directional types. In particular, the sufficient correctness criterion of well-typedness by Bronsard et al, turns out to be a specialization of the annotation method. The comparison shows a general mechanism for construction of similar specializations, which is applied to derive yet another concept of well-typedness. The usefulness of the new correctness criterion is shown on examples of Prolog programs, where the traditional notion of well-typedness is not applicable. We further show that the new well-typing condition can be applied to different execution models. This is illustrated by an example of an execution model where unification is controlled by directional types, and where our new well-typin..