1995
DOI: 10.1007/bfb0026826
|View full text |Cite
|
Sign up to set email alerts
|

Mechanically verifying the correctness of an offline partial evaluator

Abstract: Abstract. We show that using deductive systems to specify an offline partial evaluator allows one to specify, prototype, and mechanically verify correctness via meta-programming -all within a single framework. For a λ-mix-style partial evaluator, we specify binding-time constraints using a natural-deduction logic, and the associated program specializer using natural (aka "deductive") semantics. These deductive systems can be directly encoded in the Elf programming language -a logic programming language based o… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
6
0

Year Published

1995
1995
2014
2014

Publication Types

Select...
5
2
1

Relationship

1
7

Authors

Journals

citations
Cited by 12 publications
(6 citation statements)
references
References 22 publications
(35 reference statements)
0
6
0
Order By: Relevance
“…Hatcliff [15] encodes binding-time constraints and a big-step operational semantics of a specializer for simply-typed two-level lambda calculus in Elf [25]. The encoding gives rise to an executable specification of a binding-time analysis and a specializer.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Hatcliff [15] encodes binding-time constraints and a big-step operational semantics of a specializer for simply-typed two-level lambda calculus in Elf [25]. The encoding gives rise to an executable specification of a binding-time analysis and a specializer.…”
Section: Related Workmentioning
confidence: 99%
“…Most notably, Hatcliff [15] gives a big-step operational semantics for partial evaluation in Elf [25]. As Elf directly supports higher-order abstract syntax, variable bindings are handled implicitly.…”
Section: Introductionmentioning
confidence: 99%
“…In this work, we take the correctness of the underlying specializer for granted and make use of (1) where required. Since this might raise concerns that the specializer becomes part of the TCB, we remark that (i) specializers have been mechanically proves correct (Hatcliff, 1995) and (ii) by relying on the cogen approach mentioned above, it is only necessary to verify the building bricks of the generating extension, as we demonstrated elsewhere (Thiemann, 1999b).…”
Section: Partial Evaluationmentioning
confidence: 99%
“…The correctness of offline partial evaluation has been considered in a number of places (Hatcliff & Danvy, 1997;Hatcliff, 1995;Consel & Khoo, 1995;Lawall & Thiemann, 1997). In this work, we take the correctness of the underlying specializer for granted and make use of (1) where required.…”
Section: Partial Evaluationmentioning
confidence: 99%
“…We note, however, a recent trend (including the present work) to use operational semantics for specifying specializers [1,18,33,61,62]. In fact, the first author has shown that by emphasizing the logical character of type-based and operational semantics specifications, the correctness of a partial evaluator can be mechanically verified [35].…”
Section: Partial Evaluation 721 Styles Of Specificationmentioning
confidence: 99%