322 Hits in 4.8 sec

Guard and Continuation Optimization for Occurrence Representations of CHR [chapter]

Jon Sneyers, Tom Schrijvers, Bart Demoen
2005 Lecture Notes in Computer Science  
The occurrence representation allows in a natural way to express guard and continuation optimizations, which remove redundant guards and eliminate redundant code for subsumed occurrences.  ...  We introduce a new occurrence representation of CHR programs, and a new operational semantics for occurrence representations, equivalent to the widely implemented refined operational semantics.  ...  We will use Guard and Continuation Optimizations In this section, we will present optimizations that simplify the guard function and the continuation functions of (originally refined) occurrence representations  ... 
doi:10.1007/11562931_9 fatcat:r4znvnzh6zhlhovdlaj462xovy

Analysis and Optimization of CHR Programs [chapter]

Jon Sneyers
2005 Lecture Notes in Computer Science  
These goals are achieved by developping, implementing, and evaluating analyses and optimizations for CHR programs.  ...  Originally, CHR was designed for rapid prototyping of user-defined constraint solvers. In the early years of CHR limited attention went to optimized compilation.  ...  More ideas for future work related to the guard and continuation optimizations are given in [6] .  ... 
doi:10.1007/11562931_51 fatcat:djgevjuhubfsdotmeysj7ygsfu

CHR for Imperative Host Languages [chapter]

Peter Van Weert, Pieter Wuille, Tom Schrijvers, Bart Demoen
2008 Lecture Notes in Computer Science  
A rule is applicable if there are constraints matching the rule's occurrences present in the constraint store for which the guard condition holds.  ...  We show how to compile CHR to highly optimized imperative code. To this end, we first review the well-established CHR compilation scheme, and survey the large body of possible optimizations.  ...  Sharing partial joins for overlapping rules among different occurrences is another example. Over the past decade there has been an increase in the number of CHR systems.  ... 
doi:10.1007/978-3-540-92243-8_7 fatcat:m2ahjezy6rhcjouygrhg43save

Guard Reasoning in the Refined Operational Semantics of CHR [chapter]

Jon Sneyers, Tom Schrijvers, Bart Demoen
2008 Lecture Notes in Computer Science  
As a solution, we propose compiler optimizations that automatically detect and remove redundant guards.  ...  Constraint Handling Rules (CHR) is a high-level programming language based on multi-headed guarded rules. The original highlevel operational semantics of CHR is very nondeterministic.  ...  guards. In this way, it could be possible to replace dynamic priorities by static priorities or to execute part of a program under the more efficient refined semantics, perhaps by adding some guards.  ... 
doi:10.1007/978-3-540-92243-8_8 fatcat:xhp7lews4rftxggnwpi6avd5wa

Optimizing Compilation and Computational Complexity of Constraint Handling Rules [chapter]

Jon Sneyers
2009 Lecture Notes in Computer Science  
We confirm experimentally that these optimizations improve both the time and space complexity of CHR programs.  ...  can be implemented in CHR and be executed with the optimal asymptotic time and space complexity.  ...  Fail continuation optimization is essentially the same as occurrence subsumption, while success continuation optimization uses similar reasoning to improve the generated code for occurrences in propagation  ... 
doi:10.1007/978-3-642-02846-5_41 fatcat:ywwhwcnysbea3alkxbrz7ppfxe

Extending arbitrary solvers with constraint handling rules

Gregory J. Duck, Peter J. Stuckey, Maria Garcia de la Banda, Christian Holzbaur
2003 Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming - PPDP '03  
In the process, we examine how to compile such programs to perform as little recomputation as possible, and describe how to build index structures for CHR constraints that are modified automatically when  ...  We report on the implementation of these techniques in the HAL compiler, and give empirical results illustrating their benefits.  ...  In practice, many optimizations are also applied (see [10] for details) to improve efficiency. For example, the code for occurrence 3 can be removed since it is identical to that of occurrence 2.  ... 
doi:10.1145/888251.888260 dblp:conf/ppdp/DuckSBH03 fatcat:g7qhhvixpnenlogotxrxxig3hm

Compiling Constraint Handling Rules into Prolog with Attributed Variables [chapter]

Christian Holzbaur, Thom Frühwirth
1999 Lecture Notes in Computer Science  
The runtime system utilizes attributed variables for the realization of the constraint store with e cient retrieval and update mechanisms.  ...  We introduce the most recent and advanced implementation of constraint handling rules (CHR) in a logic programming language, which improves both on previous implementations (in terms of completeness, exibility  ...  Each occurrence of a CHR constraint in the head of a rule gives rise to one clause for that constraint. The predicate match(L1,L2) matches the actual arguments L2 against the formal parameters L1.  ... 
doi:10.1007/10704567_7 fatcat:ujk5fenv4vej7aiandewipdoui

Optimized Compilation of Multiset Rewriting with Comprehensions [chapter]

Edmund Soon Lee Lam, Iliano Cervesato
2014 Lecture Notes in Computer Science  
In this paper, we formalize the operational semantics of CHR cp and define a low-level optimizing compilation scheme based on join ordering for the efficient execution of programs.  ...  This enables implementing algorithms that coordinate large amounts of data or require aggregate operations in a declarative way, and results in code that is more concise and readable than with pure CHR  ...  In this section, we describe a scheme that compiles CHR cp head constraints into a lower-level representation optimized for efficient execution, without using lhs or ¬ lhs .  ... 
doi:10.1007/978-3-319-12736-1_2 fatcat:sakf7e3275cdjhxb6bf4o3petu

Compiling Constraint Handling Rules for Efficient Tabled Evaluation [chapter]

Beata Sarna-Starosta, C. R. Ramakrishnan
2006 Lecture Notes in Computer Science  
Constraint Handling Rules (CHR) is an elegant framework for implementing constraint solvers from high-level specifications, and is available in many Prolog systems.  ...  The new semantics coincides with the traditional (multi-set-based) semantics for a large class of CHR programs. We describe CHRd, an implementation based on the new semantics.  ...  In its current version, the compiler supports simple variants of the join-order, continuation, and late storage optimizations, standard in most of the traditional CHR systems. Matching.  ... 
doi:10.1007/978-3-540-69611-7_11 fatcat:sbcj6ccsznb7lammpqhlb3qdzy

Parallel execution of multi-set constraint rewrite rules

Martin Sulzmann, Edmund S. L. Lam
2008 Proceedings of the 10th international ACM SIGPLAN symposium on Principles and practice of declarative programming - PPDP '08  
We design and implement efficient algorithms which allow for the parallel execution of multi-set constraint rewrite rules.  ...  Multi-set constraint rewriting allows for a highly parallel computational model and has been used in a multitude of application domains such as constraint solving, agent specification etc.  ...  Acknowledgments We thank Greg Duck, Tom Schrijvers, Michael Stahl, Peter Van Weert and PPDP'08, RTA'08 referees for their helpful comments on previous versions of this paper.  ... 
doi:10.1145/1389449.1389453 dblp:conf/ppdp/SulzmannL08 fatcat:i33nfyiuljb4rdjlqdqlmmbby4

Rule-Based Drawing, Analysis and Generation of Graphs for Mason's Mark Design [article]

Thom Fruehwirth
2018 arXiv   pre-print
It features - a vertex-centric logical graph representation as constraints, - derivation of properties and statistics from graphs, - recognition of (sub)graphs and patterns in a graph, - automatic generation  ...  Our prototype tool for analysis and generation of graphs is written in the rule-based declarative language Constraint Handling Rules.  ...  Efficiency of matching relies on optimizations of the CHR compiler such as indexing.  ... 
arXiv:1805.08453v1 fatcat:rpj62o3bdncvretjgpn3byikhu

As time goes by: Constraint Handling Rules - A survey of CHR research from 1998 to 2007 [article]

Jon Sneyers, Peter Van Weert, Tom Schrijvers, Leslie De Koninck
2009 arXiv   pre-print
Covering more than 180 publications, this new survey provides an overview of recent results in a wide range of research areas, from semantics and analysis to systems, extensions and applications.  ...  Originally designed for writing user-defined constraint solvers, it is now recognized as an elegant general purpose language.  ...  A language for experimenting with declarative paradigms. In  ... 
arXiv:0906.4474v2 fatcat:pmadjyra3vdublffzz5pjzlbxa

As time goes by: Constraint Handling Rules

2009 Theory and Practice of Logic Programming  
Covering more than 180 publications, this new survey provides an overview of recent results in a wide range of research areas, from semantics and analysis to systems, extensions, and applications.  ...  AbstractConstraint Handling Rules (CHR) is a high-level programming language based on multiheaded multiset rewrite rules.  ...  More precisely, non-applicability of rules containing earlier removed occurrences of a constraint, can be used to infer redundant guard conditions. Continuation optimization.  ... 
doi:10.1017/s1471068409990123 fatcat:jlx6gexqqzht5blkoxzzelst6e

Towards a Generic Trace for Rule Based Constraint Reasoning [article]

Armando Gonçalves Da Silva Junior, Pierre Deransart (INRIA Rocquencourt), Luis-Carlos Menezes, Marcos-Aurélio Almeida Da Silva
2012 arXiv   pre-print
An important part of the development of such solvers is in their testing and debugging phases.  ...  In this report, we propose a new trace for CHR which contains enough information to analyze any aspects of execution at some useful abstract level, common to several implementations. rule based solvers  ...  Apply.1 corresponds to an attempt of using a CHR rule and will be applied only once for each j, H1, H2 occurrence.  ... 
arXiv:1204.5280v1 fatcat:xq5f2u4gbzf5zpbu63lcjuhtau

Constraint Systems and Constraint Solvers [chapter]

Thom Frühwirth, Slim Abdennadher
2003 Cognitive Technologies  
Constraint systems are the result of taking a data type together with its operations and interpreting the resulting expressions as constraints.  ...  In this compact overview, we introduce the most common constraint systems used in constraint programming languages and algorithms to solve them.  ...  (Optimization aspects are not discussed for lack of space.)  ... 
doi:10.1007/978-3-662-05138-2_8 fatcat:n3j7gzn5wbburmcbzjtg3ezjgy
« Previous Showing results 1 — 15 out of 322 results