Results 1  10
of
11
From reductionbased to reductionfree normalization
 Proceedings of the Fourth International Workshop on Reduction Strategies in Rewriting and Programming (WRS'04
, 2004
"... We document an operational method to construct reductionfree normalization functions. Starting from a reductionbased normalization function from a reduction semantics, i.e., the iteration of a onestep reduction function, we successively subject it to refocusing (i.e., deforestation of the inte ..."
Abstract

Cited by 28 (13 self)
 Add to MetaCart
We document an operational method to construct reductionfree normalization functions. Starting from a reductionbased normalization function from a reduction semantics, i.e., the iteration of a onestep reduction function, we successively subject it to refocusing (i.e., deforestation of the intermediate successive terms in the reduction sequence), equational simplication, refunctionalization (i.e., the converse of defunctionalization), and directstyle transformation (i.e., the converse of the CPS transformation), ending with a reductionfree normalization function of the kind usually crafted by hand. We treat in detail four simple examples: calculating arithmetic expressions, recognizing Dyck words, normalizing lambdaterms with explicit substitutions and call/cc, and attening binary trees. The overall method builds on previous work by the author and his students on a syntactic correspondence between reduction semantics and abstract machines and on a functional correspondence between evaluators and abstract machines. The measure of success of these two correspondences is that each of the interderived semantic artifacts (i.e., manmade constructs) could plausibly have been written by hand, as is the actual case for several ones derived here.
Normalization by evaluation for MartinLöf type theory with one universe
 IN 23RD CONFERENCE ON THE MATHEMATICAL FOUNDATIONS OF PROGRAMMING SEMANTICS, MFPS XXIII, ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE
, 2007
"... ..."
A Denotational Account of Untyped Normalization by Evaluation
, 2003
"... We show that the standard normalizationbyevaluation construction for the simplytyped ### calculus has a natural counterpart for the untyped ## calculus, with the central typeindexed logical relation replaced by a "recursively defined" invariant relation, in the style of Pitts. In ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
(Show Context)
We show that the standard normalizationbyevaluation construction for the simplytyped ### calculus has a natural counterpart for the untyped ## calculus, with the central typeindexed logical relation replaced by a "recursively defined" invariant relation, in the style of Pitts. In fact, the construction can be seen as generalizing a computationaladequacy argument for an untyped, callbyname language to normalization instead of evaluation. In the
A modular typechecking algorithm for type theory with singleton types and proof irrelevance
 IN TLCA’09, VOLUME 5608 OF LNCS
, 2009
"... ..."
(Show Context)
A Compiled Implementation of Normalization by Evaluation
"... Abstract. We present a novel compiled approach to Normalization by Evaluation (NBE) for MLlike languages. It supports efficient normalization of open λterms w.r.t. βreduction and rewrite rules. We have implemented NBE and show both a detailed formal model of our implementation and its verificatio ..."
Abstract

Cited by 7 (3 self)
 Add to MetaCart
(Show Context)
Abstract. We present a novel compiled approach to Normalization by Evaluation (NBE) for MLlike languages. It supports efficient normalization of open λterms w.r.t. βreduction and rewrite rules. We have implemented NBE and show both a detailed formal model of our implementation and its verification in Isabelle. Finally we discuss how NBE is turned into a proof rule in Isabelle. 1
DENOTATIONAL ASPECTS OF UNTYPED NORMALIZATION BY EVALUATION
"... We show that the standard normalizationbyevaluation construction for the simplytyped λβηcalculus has a natural counterpart for the untyped λβcalculus, with the central typeindexed logical relation replaced by a “recursively defined” invariant relation, inthe style of Pitts. In fact, the constr ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
We show that the standard normalizationbyevaluation construction for the simplytyped λβηcalculus has a natural counterpart for the untyped λβcalculus, with the central typeindexed logical relation replaced by a “recursively defined” invariant relation, inthe style of Pitts. In fact, the construction can be seen as generalizing a computationaladequacy argument for an untyped, callbyname 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 MLlike, callbyvalue language. Finally, we generalize the construction to produce an infinitary variant of normal forms, namely Böhm trees. We show that the threepart characterization of correctness, as well as the proofs, extend naturally to this generalization.
A New Approach to OnePass Transformations
"... We show how to construct a onepass optimizing transformation by fusing a nonoptimizing transformation with an optimization pass. We state the transformation in build form and the optimization pass in cata form, i.e., as a catamorphism; and we use cata/build fusion to combine them. We illustrate th ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
We show how to construct a onepass optimizing transformation by fusing a nonoptimizing transformation with an optimization pass. We state the transformation in build form and the optimization pass in cata form, i.e., as a catamorphism; and we use cata/build fusion to combine them. We illustrate the method by fusing Plotkin’s callbyvalue and callbyname CPS transformations with a reductionfree normalization function for the λcalculus, thus obtaining two new onepass CPS transformations.
On Normalization by Evaluation for Object Calculi
"... We present a procedure for computing normal forms of terms in Abadi and Cardelli’s functional object calculus. Even when equipped with simple types, terms of this calculus are not terminating in general, and we draw on recent ideas about the normalization by evaluation paradigm for the untyped lambd ..."
Abstract
 Add to MetaCart
We present a procedure for computing normal forms of terms in Abadi and Cardelli’s functional object calculus. Even when equipped with simple types, terms of this calculus are not terminating in general, and we draw on recent ideas about the normalization by evaluation paradigm for the untyped lambda calculus. Technically, we work in the framework of Shinwell and Pitts ’ FMdomain theory, which leads to a normalization procedure for the object calculus that is directly implementable in a language like Fresh O’Caml.
Normalization by Evaluation for MartinL"of Type Theory with One Universe
"... Replace this file with prentcsmacro.sty for your meeting,or with entcsmacro.sty for your meeting. Both can be found at the ENTCS Macro Home Page. ..."
Abstract
 Add to MetaCart
(Show Context)
Replace this file with prentcsmacro.sty for your meeting,or with entcsmacro.sty for your meeting. Both can be found at the ENTCS Macro Home Page.