Transforming Coroutining Logic Programs into Equivalent CHR Programs

08/24/2017
by   Vincent Nys, et al.
0

We extend a technique called Compiling Control. The technique transforms coroutining logic programs into logic programs that, when executed under the standard left-to-right selection rule (and not using any delay features) have the same computational behavior as the coroutining program. In recent work, we revised Compiling Control and reformulated it as an instance of Abstract Conjunctive Partial Deduction. This work was mostly focused on the program analysis performed in Compiling Control. In the current paper, we focus on the synthesis of the transformed program. Instead of synthesizing a new logic program, we synthesize a CHR(Prolog) program which mimics the coroutining program. The synthesis to CHR yields programs containing only simplification rules, which are particularly amenable to certain static analysis techniques. The programs are also more concise and readable and can be ported to CHR implementations embedded in other languages than Prolog.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/16/2018

Compiling Control as Offline Partial Deduction

We present a new approach to a technique known as compiling control, who...
research
04/11/2019

Synthesizing Database Programs for Schema Refactoring

Many programs that interact with a database need to undergo schema refac...
research
07/18/2018

Structuring the Synthesis of Heap-Manipulating Programs

This paper describes a deductive approach to synthesizing imperative pro...
research
07/18/2018

Structuring the Synthesis of Heap-Manipulating Programs - Extended Version

This paper describes a deductive approach to synthesizing imperative pro...
research
10/15/2018

Synthesizing Program-Specific Static Analyses

Designing a static analysis is generally a substantial undertaking, requ...
research
08/07/2002

Offline Specialisation in Prolog Using a Hand-Written Compiler Generator

The so called "cogen approach" to program specialisation, writing a comp...
research
06/01/2019

Synthesizing Datalog Programs using Numerical Relaxation

The problem of learning logical rules from examples arises in diverse fi...

Please sign up or login with your details

Forgot password? Click here to reset