Previous deforestation and supercompilation algorithms may introduce accidental termination when applied to call-by-value programs. This hides looping bugs from the programmer, and changes the behavior of a program depending on whether it is optimized or not. We present a supercompilation algorithm for a higher-order call-by-value language and we prove that the algorithm both terminates and preserves termination properties. This algorithm utilizes strictness information for deciding whether to substitute or not and compares favorably with previous call-by-name transformations.Godkänd; 2009; 20090222 (pj)ESI
We study the problem of proving termination of open, higher-order programs with recursive functions ...
Turchin's supercompilation is a program transformation technique for functional languages. A su...
We present a new modular proof method of termination for second-ordercomputation, and report its imp...
Previous deforestation and supercompilation algorithms may introduce accidental termination when app...
Previous deforestation and supercompilation algorithms may introduce accidental termination when app...
Intermediate structures such as lists and higher-order functions are very common in most styles of f...
A termination preserving supercompiler for a call-by-value language sometimes fails to remove interm...
Intermediate structures such as lists and higher-order functions are very common in most styles of f...
This paper presents a termination technique for positive supercompilation, based on notions from ter...
Abstract: There are considered a number of issues related to supercompilation: (1) the use...
Abstract. We extend positive supercompilation to handle negative as well as positive information. Th...
AbstractWe propose means to predict termination in a higher-order imperative and concurrent language...
Termination is a major question in both logic and computer science. In logic, termina-tion is at the...
We introduce a Hoare logic for call-by-value higher-order functional languages with control operator...
Wadler’s deforestation algorithm eliminates intermediate data structures from functional pro-grams. ...
We study the problem of proving termination of open, higher-order programs with recursive functions ...
Turchin's supercompilation is a program transformation technique for functional languages. A su...
We present a new modular proof method of termination for second-ordercomputation, and report its imp...
Previous deforestation and supercompilation algorithms may introduce accidental termination when app...
Previous deforestation and supercompilation algorithms may introduce accidental termination when app...
Intermediate structures such as lists and higher-order functions are very common in most styles of f...
A termination preserving supercompiler for a call-by-value language sometimes fails to remove interm...
Intermediate structures such as lists and higher-order functions are very common in most styles of f...
This paper presents a termination technique for positive supercompilation, based on notions from ter...
Abstract: There are considered a number of issues related to supercompilation: (1) the use...
Abstract. We extend positive supercompilation to handle negative as well as positive information. Th...
AbstractWe propose means to predict termination in a higher-order imperative and concurrent language...
Termination is a major question in both logic and computer science. In logic, termina-tion is at the...
We introduce a Hoare logic for call-by-value higher-order functional languages with control operator...
Wadler’s deforestation algorithm eliminates intermediate data structures from functional pro-grams. ...
We study the problem of proving termination of open, higher-order programs with recursive functions ...
Turchin's supercompilation is a program transformation technique for functional languages. A su...
We present a new modular proof method of termination for second-ordercomputation, and report its imp...