A termination preserving supercompiler for a call-by-value language sometimes fails to remove intermediate structures that a supercompiler for a call-by-name language would remove. This discrepancy in power stems from the fact that many function bodies are either non-linear in use of an important variable or often start with a pattern match on their first argument and are therefore not strict in all their arguments. As a consequence, intermediate structures are left in the output program, making it slower. We present a revised supercompilation algorithm for a call-by-value language that propagates let-bindings into case-branches and uses termination analysis to remove dead code. This allows the algorithm to remove all intermediate structu...
AbstractWe propose means to predict termination in a higher-order imperative and concurrent language...
Non-termination is the root cause of a variety of program bugs, such as hanging programs and denial-...
Proving program termination is typically done by finding a well-founded ranking function for the pro...
A termination preserving supercompiler for a call-by-value language sometimes fails to remove interm...
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...
Intermediate structures such as lists and higher-order functions are very common in most styles of f...
Abstract: There are considered a number of issues related to supercompilation: (1) the use...
Understanding procedure calls is crucial in computer science and everyday programming. Among the mos...
A fully-automated algorithm is developed able to show that evaluation of agiven untyped lambda-expre...
Turchin's supercompilation is a program transformation technique for functional languages. A su...
Automatic termination proofs of functional programming languages are an often challenged problem Mos...
AbstractComputational systems based on reducing expressions usually have a predefined reduction stra...
We present a new modular proof method of termination for second-ordercomputation, and report its imp...
AbstractWe propose means to predict termination in a higher-order imperative and concurrent language...
Non-termination is the root cause of a variety of program bugs, such as hanging programs and denial-...
Proving program termination is typically done by finding a well-founded ranking function for the pro...
A termination preserving supercompiler for a call-by-value language sometimes fails to remove interm...
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...
Intermediate structures such as lists and higher-order functions are very common in most styles of f...
Abstract: There are considered a number of issues related to supercompilation: (1) the use...
Understanding procedure calls is crucial in computer science and everyday programming. Among the mos...
A fully-automated algorithm is developed able to show that evaluation of agiven untyped lambda-expre...
Turchin's supercompilation is a program transformation technique for functional languages. A su...
Automatic termination proofs of functional programming languages are an often challenged problem Mos...
AbstractComputational systems based on reducing expressions usually have a predefined reduction stra...
We present a new modular proof method of termination for second-ordercomputation, and report its imp...
AbstractWe propose means to predict termination in a higher-order imperative and concurrent language...
Non-termination is the root cause of a variety of program bugs, such as hanging programs and denial-...
Proving program termination is typically done by finding a well-founded ranking function for the pro...