this paper describes a framework to combine tabling evaluation and constraint logic programming (TCLP). While this combination has been studied previously from a theoretical point of view and some implementations exis...
详细信息
ISBN:
(纸本)9783642298226
this paper describes a framework to combine tabling evaluation and constraint logic programming (TCLP). While this combination has been studied previously from a theoretical point of view and some implementations exist, they either suffer from a lack of efficiency, flexibility, or generality, or have inherent limitations with respect to the programs they can execute to completion (either with success or failure). Our framework addresses these issues directly, including the ability to check for answer / call entailment, which allows it to terminate in more cases than other approaches. the proposed framework is experimentally compared with existing solutions in order to provide evidence of the mentioned advantages.
Constraint functional Logic programming (CFLP) integrates lazy narrowing with constraint solving. It provides a high modeling abstraction, but its solving performance can be penalized by lazy narrowing and solver inte...
详细信息
ISBN:
(纸本)9783642298226
Constraint functional Logic programming (CFLP) integrates lazy narrowing with constraint solving. It provides a high modeling abstraction, but its solving performance can be penalized by lazy narrowing and solver interface surcharges. As for real-world problems most of the solving time is carried out by solver computations, the system performance can be improved by interfacing state-of-the-art external solvers with proven performance. In this work we depart from the CFLP system TOY(FD), implemented in SICStus Prolog and supporting Finite Domain (FD) constraints by using its underlying Prolog FD solver. We present a scheme describing how to interface an external CP(FD) solver to TOY(FD), and easily adaptable to other Prolog CLP or CFLP systems. We prove the scheme to be generic enough by interfacing Gecode and ILOG solvers, and we analyze the new performance achieved.
programming distributed embedded systems gives rise to a number of challenges. the distributed nodes are typically resource constrained, requiring expert systems programming skills to manage the limited power, communi...
详细信息
this paper proposes a declarative description of user interfaces that abstracts from low-level implementation details. In particular, the user interfaces specified in our framework are executable as graphical user int...
详细信息
ISBN:
(纸本)9783540929949
this paper proposes a declarative description of user interfaces that abstracts from low-level implementation details. In particular, the user interfaces specified in our framework are executable as graphical user interfaces for desktop applications as well as web user interfaces via standard web browsers. thus, our approach combines the advantages of existing user interface technologies in a flexible way without demands on the programmer's side. We sketch an implementation of this concept in the declarative multi-paradigm programming language Curry and show how the integrated functional and logic features of Curry are exploited to enable a high-level implementation of this concept.
Two fundamental challenges in program synthesis, i.e. learning programs from specifications, are (1) program correctness and (2) search efficiency. We claim logical constraints can address both: (1) by expressing stro...
详细信息
ISBN:
(纸本)9781577358664
Two fundamental challenges in program synthesis, i.e. learning programs from specifications, are (1) program correctness and (2) search efficiency. We claim logical constraints can address both: (1) by expressing strong requirements on solutions and (2) due to being effective at eliminating non solutions. When learning from examples, a hypothesis failing on an example means that (a class of) related programs fail as well. We encode these classes into constraints, thereby pruning away many a failing hypothesis. We are expanding this method with failure explanation: identify failing sub-programs the related programs of which can be eliminated as well. In addition to reasoning about examples, programming involves ensuring general properties are not violated. Inspired by the synthesis of functional programs, we intend to encode correctness properties as well as runtime complexity bounds into constraints.
this paper introduces a functional spreadsheet framework for authoring logic implication rules. this framework was conceived withthe objective of reproducing many of the characteristics that make spreadsheet programm...
详细信息
ISBN:
(纸本)9783540888079
this paper introduces a functional spreadsheet framework for authoring logic implication rules. this framework was conceived withthe objective of reproducing many of the characteristics that make spreadsheet programming accessible to end-users. In the proposed framework, rule authors describe the semantics of a binary relation by constructing a functional spreadsheet model that computes the image of that binary relation. this model is subsequently translated into a collection of logic implication rules. We implemented and integrated this framework into a deductive spreadsheet system that extends Microsoft Excel withthe World Wide Web Consortium (W3C) standard ontology language OWL + SWRL.
Mashup is defined as the practice of lightweight composition, serendipitous reuse, and user-centric development on the Web. In spite of the fact that the development of mashups is rather simple due to the reuse of all...
详细信息
An applicative program denotes a function mapping values from some domain to some range. Abstract interpretation of applicative programs involves using the standard denotation to describe an abstract function from a ...
详细信息
ISBN:
(纸本)0897911253
An applicative program denotes a function mapping values from some domain to some range. Abstract interpretation of applicative programs involves using the standard denotation to describe an abstract function from a “simplified” domain to a “simplified” range, such that computation of the abstract function is effective and yields some information, such as type information, about the standard denotation. We develop a general framework for a restricted class of abstract interpretations that deal with non-strict functions defined on non-flat domains. As a consequence, we can develop inference schemes for a large and useful class of functional programs, including functions defined on streams. We describe several practical problems and solve them using abstract interpretation. these include inferring minor signatures and relevant clauses of functions, which have arisen out of our work on a strongly-typed applicative language.
Starting from a computational model for the cooperation of constraint domains in the CFLP context (with lazy evaluation and higher-order functions), we present the theoretical basis for the coordination domain C tailo...
详细信息
ISBN:
(纸本)9783642298226
Starting from a computational model for the cooperation of constraint domains in the CFLP context (with lazy evaluation and higher-order functions), we present the theoretical basis for the coordination domain C tailored to the cooperation of three pure domains: the domain of finite sets of integers (FS), the finite domain of integers (FD) and the Herbrand domain (H). We also present the adaptation of the goal-solving calculus CCLNC(C) (Cooperative Constraint Lazy Narrowing Calculus over C) to this particular case, as well as soundness and limited completeness results. An implementation of this cooperation in the CFLP system TOY is presented. Our implementation is based on inter-process communication between TOY and the external solvers for sets of integers and finite domain of (ECLPSe)-P-i.
We introduce a new programming language construct, Interactors, supporting the agent-oriented view that programming is a dialog between simple, self-contained, autonomous building blocks. We define Interactors as an a...
详细信息
ISBN:
(纸本)9783540929949
We introduce a new programming language construct, Interactors, supporting the agent-oriented view that programming is a dialog between simple, self-contained, autonomous building blocks. We define Interactors as an abstraction of answer generation and refinement in Logic Engines resulting in expressive language extension and metaprogramming patterns. As a first step toward a declarative semantics, we sketch a pure Prolog specification showing that Interactors can be expressed at source level, in a relatively simple and natural way. Interactors extend language constructs like Ruby, Python and C#'s multiple coroutining block returns through yield statements and they can emulate the action of fold operations and monadic constructs in functional languages. Using the Interactor API, we describe at source level, language extensions like dynamic databases and algorithms involving generation of infinite answer streams.
暂无评论