Henning Korsholm Rohde
Aarhus University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Henning Korsholm Rohde.
foundations of software science and computation structure | 2004
Andrzej Filinski; Henning Korsholm Rohde
We show that the standard normalization-by-evaluation construction for the simply-typed λ βη -calculus has a natural counterpart for the untyped λ β -calculus, with the central type-indexed logical relation replaced by a recursively defined invariant relation, in the style of Pitts. In fact, the construction can be seen as generalizing a computational-adequacy argument for an untyped, call-by-name language to normalization instead of evaluation. In the untyped setting, not all terms have normal forms, so the normalization function is necessarily partial. We establish its correctness in the senses of soundness (the output term, if any, is β-equivalent to the input term); standardization (β-equivalent terms are mapped to the same result); and completeness (the function is defined for all terms that do have normal forms). We also show how the semantic construction enables a simple yet formal correctness proof for the normalization algorithm, expressed as a functional program in an ML-like call-by-value language.
Information Processing Letters | 2006
Olivier Danvy; Henning Korsholm Rohde
We present the first derivation of the search phase of the Boyer-Moore string-matching algorithm by partial evaluation of an inefficient string matcher. The derivation hinges on identifying the bad-character-shift heuristic as a binding-time improvement, bounded static variation. An inefficient string matcher incorporating this binding-time improvement specializes into the search phase of the Horspool algorithm, which is a simplified variant of the Boyer-Moore algorithm. Combining the bad-character-shift binding-time improvement with our previous results yields a new binding-time-improved string matcher that specializes into the search phase of the Boyer-Moore algorithm.
Theoretical Informatics and Applications | 2005
Andrzej Filinski; Henning Korsholm Rohde
We show that the standard normalization-by-evaluation construction for the simply-typed λ βη -calculus has a natural counterpart for the untyped λ β -calculus, with the central type-indexed logical relation replaced by a recursively defined invariant relation, in the style of Pitts. In fact, the construction can be seen as generalizing a computational-adequacy argument for an untyped, call-by-name language to normalization instead of evaluation.In the untyped setting, not all terms have normal forms, so the normalization function is necessarily partial. We establish its correctness in the senses of soundness (the output term, if any, is in normal form and β-equivalent to the input term); identification (β-equivalent terms are mapped to the same result); and completeness (the function is defined for all terms that do have normal forms). We also show how the semantic construction enables a simple yet formal correctness proof for the normalization algorithm, expressed as a functional program in an ML-like, call-by-value language. Finally, we generalize the construction to produce an infinitary variant of normal forms, namely Bohm trees. We show that the three-part characterization of correctness, as well as the proofs, extend naturally to this generalization.
acm sigplan symposium on principles and practice of parallel programming | 2003
Mads Sig Ager; Olivier Danvy; Henning Korsholm Rohde
We show how to obtain all of Knuth, Morris, and Pratts linear-time string matcher by partial evaluation of a quadratic-time string matcher with respect to a pattern string. Although it has been known for 15 years how to obtain this linear matcher by partial evaluation of a quadratic one, how to obtain it in linear time has remained an open problem.Obtaining a linear matcher by partial evaluation of a quadratic one is achieved by performing its backtracking at specialization time and memoizing its results. We show (1) how to rewrite the source matcher such that its static intermediate computations can be shared at specialization time and (2) how to extend the memoization capabilities of a partial evaluator to static functions. Such an extended partial evaluator, if its memoization is implemented efficiently, specializes the rewritten source matcher in linear time.
partial evaluation and semantic-based program manipulation | 2002
Mads Sig Ager; Olivier Danvy; Henning Korsholm Rohde
BRICS Report Series | 2005
Henning Korsholm Rohde
BRICS Report Series | 2003
Mads Sig Ager; Olivier Danvy; Henning Korsholm Rohde
BRICS Report Series | 2005
Olivier Danvy; Henning Korsholm Rohde
BRICS Report Series | 2002
Mads Sig Ager; Olivier Danvy; Henning Korsholm Rohde
Archive | 2005
Olivier Danvy; Henning Korsholm Rohde