2001
DOI: 10.7146/brics.v8i16.20473
|View full text |Cite
|
Sign up to set email alerts
|

Normalization by Evaluation with Typed Abstract Syntax

Abstract: We present a simple way to implement typed abstract syntax for the lambda calculus in Haskell, using phantom types, and we specify normalization by evaluation (i.e., type-directed partial evaluation) to yield this typed abstract syntax. Proving that normalization by evaluation preserves types and yields normal forms then reduces to type-checking the specification.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
7
0

Year Published

2002
2002
2003
2003

Publication Types

Select...
3
2

Relationship

4
1

Authors

Journals

citations
Cited by 5 publications
(7 citation statements)
references
References 13 publications
0
7
0
Order By: Relevance
“…The development is akin to Filinski's proof that type-directed partial evaluation implements a normalization function [16]. A corollary of Filinski's work is that type-directed partial evaluation is type preserving, a result we have also established using the typed embedded language described in this work [6,7].…”
Section: Related Workmentioning
confidence: 91%
See 2 more Smart Citations
“…The development is akin to Filinski's proof that type-directed partial evaluation implements a normalization function [16]. A corollary of Filinski's work is that type-directed partial evaluation is type preserving, a result we have also established using the typed embedded language described in this work [6,7].…”
Section: Related Workmentioning
confidence: 91%
“…They have been used to design embedded languages [17,25,27] and to prove properties of programs [6,7]. An experiment with run-time code generation for the rewrite engine of the logical framework MetaPRL [20] also confirms the utility of phantom types in a two-stage language [38,39].…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…Typedirected partial evaluation, which we present next, has been investigated both practically [5,15,17,18,29,31,38] and foundationally [24,25,47].…”
Section: Background: Reduction-based Vs Reduction-free Normalizationmentioning
confidence: 99%
“…An approach to constructing a higher-order typeful program representation is presented by Danvy et al [10] that makes use of the notion of phantom types available in Haskell. With this approach, it is shown that an implementation of the normalization function for the simply typed λ-calculus preserves types and always yields βη-long normal form.…”
Section: Related Work and Conclusionmentioning
confidence: 99%