The worker/wrapper transformation is a general-purpose technique for refactoring recursive programs to improve their performance. The two previous approaches to formalising the technique were based upon different recursion operators and different correctness conditions. In this paper we show how these two approaches can be generalised in a uniform manner by combining their correctness conditions, extend the theory with new conditions that are both necessary and sufficient to ensure the correctness of the worker/wrapper technique, and explore the benefits that result. All the proofs have been mechanically verified using the Agda system
NOTICE: this is the author’s version of a work that was accepted for publication in Information and ...
The goal of program transformation is to improve efficiency while preserving meaning. One of the bes...
In functional programming, fold is a standard operator that encapsulates a simple pattern of recursi...
The worker/wrapper transformation is a general-purpose technique for refactoring recursive programs ...
The worker/wrapper transformation is a general-purpose technique for refactoring recursive pro-grams...
The worker/wrapper transformation is a general-purpose technique for refactoring recursive pro-grams...
The worker/wrapper transformation is a general way of changing the type of a recursive definition, u...
The worker/wrapper transformation is a general technique for improving the performance of re-cursive...
A program optimisation must have two key properties: it must preserve the meaning of programs (corre...
Abstract-Write down the definition of a recursion operator on a piece of paper. Tell me its type, bu...
Much research in program optimization has focused on formal approaches to correctness: proving that ...
Write down the definition of a recursion operator on a piece of paper. Tell me its type, but be care...
AbstractThis paper shows how the Improvement Theorem — a semantic condition for establishing the tot...
In software engineering, altering a program's original implementation disconnects it from the model ...
. The paper shows how term rewriting techniques can be used to automatically transform first-order f...
NOTICE: this is the author’s version of a work that was accepted for publication in Information and ...
The goal of program transformation is to improve efficiency while preserving meaning. One of the bes...
In functional programming, fold is a standard operator that encapsulates a simple pattern of recursi...
The worker/wrapper transformation is a general-purpose technique for refactoring recursive programs ...
The worker/wrapper transformation is a general-purpose technique for refactoring recursive pro-grams...
The worker/wrapper transformation is a general-purpose technique for refactoring recursive pro-grams...
The worker/wrapper transformation is a general way of changing the type of a recursive definition, u...
The worker/wrapper transformation is a general technique for improving the performance of re-cursive...
A program optimisation must have two key properties: it must preserve the meaning of programs (corre...
Abstract-Write down the definition of a recursion operator on a piece of paper. Tell me its type, bu...
Much research in program optimization has focused on formal approaches to correctness: proving that ...
Write down the definition of a recursion operator on a piece of paper. Tell me its type, but be care...
AbstractThis paper shows how the Improvement Theorem — a semantic condition for establishing the tot...
In software engineering, altering a program's original implementation disconnects it from the model ...
. The paper shows how term rewriting techniques can be used to automatically transform first-order f...
NOTICE: this is the author’s version of a work that was accepted for publication in Information and ...
The goal of program transformation is to improve efficiency while preserving meaning. One of the bes...
In functional programming, fold is a standard operator that encapsulates a simple pattern of recursi...