Logic program specialisation through partial deduction: Control issues
Michael Leuschel, Maurice Bruynooghe
Abstract
Program specialisation aims at improving the overall performance of programs by performing source to source transformations. A common approach within functional and logic programming, known respectively as partial evaluation and partial deduction, is to exploit partial knowledge about the input. It is achieved through a well-automated application of parts of the Burstall-Darlington unfold/fold transformation framework. The main challenge in developing systems is to design automatic control that ensures correctness, efficiency, and termination. This survey and tutorial presents the main developments in controlling partial deduction over the past 10 years and analyses their respective merits and shortcomings. It ends with an assessment of current achievements and sketches some remaining research challenges.
Create a lesson
Related papers
A Simplified Layout Algebra for GPU Kernels
Nan An, Xiaotian Zhou
Coexponential Exploration in the Clef Programming Language
Houston Haynes
Bayes Rule for Conditioning Probabilistic Programs
Feras A. Saad
Modular Responsiveness Verification of Rust Async Runtimes
Yanze Li, Ivan Beschastnikh, Alexander J. Summers
When Double Rounding is Correct
Brett Saiki, Bill Zorn, Cynthia Richey et al.
Automatically Detecting and Fixing Deadlocks in Go Code with GoDDaR
Gustavo Feio, Jorge Coelho, Miguel Flor et al.