Results 1 
5 of
5
Dijkstra’s algorithm with Fibonacci heaps:An executable description
 in CHR,” in Proc. 20th Workshop on Logic Programming (WLP’06
"... Abstract. We construct a readable, compact and ecient implementation of Dijkstra's shortest path algorithm and Fibonacci heaps using Constraint Handling Rules (CHR), which is increasingly used as a highlevel rulebased generalpurpose programming language. We measure its performance in dierent ..."
Abstract

Cited by 19 (12 self)
 Add to MetaCart
(Show Context)
Abstract. We construct a readable, compact and ecient implementation of Dijkstra's shortest path algorithm and Fibonacci heaps using Constraint Handling Rules (CHR), which is increasingly used as a highlevel rulebased generalpurpose programming language. We measure its performance in dierent CHR systems, investigating both the theoretical asymptotic complexity and the constant factors realized in practice. 1
Extending Arbitrary Solvers with Constraint Handling Rules
 In Proceedings of the 5th ACM SIGPLAN international conference on Principles and Practice of Declarative Programming
, 2003
"... Constraint Handling Rules (CHRs) are a highlevel committed choice programming language commonly used to write constraint solvers. While the semantic basis of CHRs allows them to extend arbitrary underlying constraint solvers, in practice, all current implementations only extend Herbrand equation so ..."
Abstract

Cited by 12 (2 self)
 Add to MetaCart
(Show Context)
Constraint Handling Rules (CHRs) are a highlevel committed choice programming language commonly used to write constraint solvers. While the semantic basis of CHRs allows them to extend arbitrary underlying constraint solvers, in practice, all current implementations only extend Herbrand equation solvers. In this paper we show how to define CHR programs that extend arbitrary solvers and fully interact with them. 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 variables in the underlying solver change. We report on the implementation of these techniques in the HAL compiler, and give empirical results illustrating their benefits.
Building Constraint Solvers with HAL
"... Experience using constraint programming to solve reallife problems has shown that finding an efficient solution to a problem often requires experimentation with different constraint solvers or even building a problemspecific solver. HAL is a new constraint logic programming language expressly ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Experience using constraint programming to solve reallife problems has shown that finding an efficient solution to a problem often requires experimentation with different constraint solvers or even building a problemspecific solver. HAL is a new constraint logic programming language expressly designed to facilitate this process. In this paper we examine different ways of building solvers in HAL. We explain how type classes can be used to specify solver interfaces, allowing the constraint programmer to support modelling of a constraint problem independently of a particular solver, leading to easy "plug and play" experimentation. We compare
A Constraint Solver Synthesiser: Case for Support
, 2009
"... This document is the case for support for Grant number EP/H004092/1, funded by the EPSRC in the UK. Our aim is to improve dramatically the scalability of constraint technology, while removing its reliance on manual tuning by an expert. This aim will be realised through the development of a constrain ..."
Abstract
 Add to MetaCart
(Show Context)
This document is the case for support for Grant number EP/H004092/1, funded by the EPSRC in the UK. Our aim is to improve dramatically the scalability of constraint technology, while removing its reliance on manual tuning by an expert. This aim will be realised through the development of a constraint solver synthesiser, the principal components of which are a Model Analyser, a Constraint Solver Generator, and a Generator Tuner. As a research proposal, the reader should bear in mind that this is a proposal for future work, rather than a report on completed research.