The family of concurrent logic programming languages
ACM Computing Surveys (CSUR)
Embedding as a tool for language comparison
Information and Computation
Expressive Results for Process Algebras
Proceedings of the REX Workshop on Sematics: Foundations and Applications
Comparing the expressive power of the synchronous and asynchronous $pi$-calculi
Mathematical Structures in Computer Science
User-definable rule priorities for CHR
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Tutorial on separation results in process calculi via leader election problems
Theoretical Computer Science
The computational power and complexity of constraint handling rules
ACM Transactions on Programming Languages and Systems (TOPLAS)
Expressiveness of Multiple Heads in CHR
SOFSEM '09 Proceedings of the 35th Conference on Current Trends in Theory and Practice of Computer Science
On the expressive power of global and local priority in process calculi
CONCUR'07 Proceedings of the 18th international conference on Concurrency Theory
A complete and terminating execution model for constraint handling rules
Theory and Practice of Logic Programming
Decentralized execution of constraint handling rules for ensembles
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
The expressive power of CHR with priorities
Information and Computation
Hi-index | 0.00 |
Constraint Handling Rules (CHR) is a committed-choice declarative language which has been originally designed for writing constraint solvers and which is nowadays a general purpose language. Recently the language has been extended by introducing user-definable (static or dynamic) rule priorities. The resulting language, called CHRrp, allows a better control over execution while retaining a declarative and flexible style of programming. In this paper we study the expressive power of this language from the view point of the concurrency theory. We first show that dynamic priorities do not augment the expressive power by providing an encoding of dynamic priorities into static ones. Then we show that, when considering the theoretical operational semantics, CHRrp is strictly more expressive than CHR. This result is obtained by using a problem similar to the leader-election to show that, under some conditions, there exists no encoding of CHRrp into CHR. We also show, by using a similar technique, that the CHR language with the, so called, refined semantics is more expressive power than CHR with theoretical semantics and we extend some previous results showing that CHR can not be encoded into Prolog.