Compiling Control as Offline Partial Deduction

08/16/2018
by   Vincent Nys, et al.
0

We present a new approach to a technique known as compiling control, whose aim is to compile away special mechanisms for non-standard atom selection in logic programs. It has previously been conjectured that compiling control could be implemented as an instance of the first Futamura projection, in which an interpreter is specialized for an input program. However, the exact nature of such an interpreter and of the required technique for specialization were never specified. In this work, we propose a Prolog meta-interpreter which applies the desired non-standard selection rule and which is amenable to specialization using offline partial deduction. After the initial analysis phase of compiling control, we collect annotations to specialize the interpreter using the Logen system for offline partial deduction. We also show that the result of the specialization is equivalent to the program obtained using the traditional approach to compiling control. In this way, we simplify the synthesis step.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/24/2017

Transforming Coroutining Logic Programs into Equivalent CHR Programs

We extend a technique called Compiling Control. The technique transforms...
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
02/12/2002

Logic program specialisation through partial deduction: Control issues

Program specialisation aims at improving the overall performance of prog...
research
05/14/2020

Symbolic Partial-Order Execution for Testing Multi-Threaded Programs

We describe a technique for systematic testing of multi-threaded program...
research
07/29/2019

Control-Flow Refinement by Partial Evaluation, and its Application to Termination and Cost Analysis

Control-flow refinement refers to program transformations whose purpose ...
research
08/07/2020

From Big-Step to Small-Step Semantics and Back with Interpreter Specialisation

We investigate representations of imperative programs as constrained Hor...
research
05/13/2020

A Generating-Extension-Generator for Machine Code

The problem of "debloating" programs for security and performance purpos...

Please sign up or login with your details

Forgot password? Click here to reset