An Implementation of Bubbling
Abdulla Alqaddoumi, Enrico Pontelli

TL;DR
This paper presents an implementation of the Curry language that combines definitional trees, needed narrowing, and bubbling graph transformation to efficiently handle deterministic and non-deterministic operations.
Contribution
It introduces bubbling as a novel graph transformation technique that preserves non-deterministic completeness and reduces expression reconstruction in functional logic programming.
Findings
Bubbling effectively preserves non-deterministic completeness.
The implementation improves efficiency by avoiding large-scale expression reconstruction.
The approach integrates definitional trees and needed narrowing with bubbling.
Abstract
Non-determinism is of great importance in functional logic programming. It provides expressiveness and efficiency to functional logic computations. In this paper we describe an implementation of the multi-paradigm functional logic language Curry. The evaluation strategy employed by the implementation is based on definitional trees and needed narrowing for deterministic operations, while non-deterministic operations will depend on the graph transformation, bubbling. Bubbling preserves the completeness of non-deterministic operations and avoids unnecessary large-scale reconstruction of expressions done by other approaches.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Logic, Reasoning, and Knowledge · Formal Methods in Verification
