Making Bubbling Practical

08/24/2018
by   Sergio Antoy, et al.
0

Bubbling is a run-time graph transformation studied for the execution of non-deterministic steps in functional logic computations. This transformation has been proven correct, but as currently formulated it requires information about the entire context of a step, even when the step affects only a handful of nodes. Therefore, despite some advantages, it does not appear to be competitive with approaches that require only localized information, such as backtracking and pull-tabbing. We propose a novel algorithm that executes bubbling steps accessing only local information. To this aim, we define graphs that have an additional attribute, a dominator of each node, and we maintain this attribute when a rewrite and/or bubbling step is executed. When a bubbling step is executed, the dominator is available at no cost, and only local information is accessed. Our work makes bubbling practical, and theoretically competitive, for implementing non-determinism in functional logic computations.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/27/2020

Memoized Pull-Tabbing for Functional Logic Programming

Pull-tabbing is an evaluation technique for functional logic programs wh...
research
05/13/2022

From Logic to Functional Logic Programs

Logic programming is a flexible programming paradigm due to the use of p...
research
02/20/2018

A Testability Analysis Framework for Non-Functional Properties

This paper presents background, the basic steps and an example for a tes...
research
10/06/2019

GraphZoom: A multi-level spectral approach for accurate and scalable graph embedding

Graph embedding techniques have been increasingly deployed in a multitud...
research
05/12/2023

The Case for the Anonymization of Offloaded Computation

Computation offloading (often to external computing resources over a net...
research
11/30/2021

Show Your Work: Scratchpads for Intermediate Computation with Language Models

Large pre-trained language models perform remarkably well on tasks that ...
research
05/12/2021

Reversify any sequential algorithm

To reversify an arbitrary sequential algorithm A, we gently instrument A...

Please sign up or login with your details

Forgot password? Click here to reset