Results 1 - 10
of
14
Type-directed partial evaluation
- Proceedings of the Twenty-Third Annual ACM Symposium on Principles of Programming Languages
, 1996
"... Abstract. Type-directed partial evaluation stems from the residualization of arbitrary static values in dynamic contexts, given their type. Its algorithm coincides with the one for coercing asubtype value into a supertype value, which itself coincides with the one of normalization in the-calculus. T ..."
Abstract
-
Cited by 195 (38 self)
- Add to MetaCart
Abstract. Type-directed partial evaluation stems from the residualization of arbitrary static values in dynamic contexts, given their type. Its algorithm coincides with the one for coercing asubtype value into a supertype value, which itself coincides with the one of normalization in the-calculus. Type-directed partial evaluation is thus used to specialize compiled, closed programs, given their type. Since Similix, let-insertion is a cornerstone of partial evaluators for callby-value procedural programs with computational e ects. It prevents the duplication of residual computations, and more generally maintains the order of dynamic side e ects in residual programs. This article describes the extension of type-directed partial evaluation to insert residual let expressions. This extension requires the userto annotate arrowtypes with e ect information. It is achieved by delimiting and abstracting control, comparably to continuation-based specialization in direct style. It enables type-directed partial evaluation of e ectful programs (e.g.,ade nitional lambda-interpreter for an imperative language) that are in direct style. The residual programs are in A-normal form. 1
A General Formulation of Simultaneous Inductive-Recursive Definitions in Type Theory
- Journal of Symbolic Logic
, 1998
"... The first example of a simultaneous inductive-recursive definition in intuitionistic type theory is Martin-Löf's universe à la Tarski. A set U0 of codes for small sets is generated inductively at the same time as a function T0 , which maps a code to the corresponding small set, is defined by recursi ..."
Abstract
-
Cited by 56 (9 self)
- Add to MetaCart
The first example of a simultaneous inductive-recursive definition in intuitionistic type theory is Martin-Löf's universe à la Tarski. A set U0 of codes for small sets is generated inductively at the same time as a function T0 , which maps a code to the corresponding small set, is defined by recursion on the way the elements of U0 are generated. In this paper we argue that there is an underlying general notion of simultaneous inductiverecursive definition which is implicit in Martin-Löf's intuitionistic type theory. We extend previously given schematic formulations of inductive definitions in type theory to encompass a general notion of simultaneous induction-recursion. This enables us to give a unified treatment of several interesting constructions including various universe constructions by Palmgren, Griffor, Rathjen, and Setzer and a constructive version of Aczel's Frege structures. Consistency of a restricted version of the extension is shown by constructing a realisability model ...
Setoids in Type Theory
, 2000
"... Formalising mathematics in dependent type theory often requires to use setoids, i.e. types with an explicit equality relation, as a representation of sets. This paper surveys some possible denitions of setoids and assesses their suitability as a basis for developing mathematics. In particular, we ..."
Abstract
-
Cited by 19 (2 self)
- Add to MetaCart
Formalising mathematics in dependent type theory often requires to use setoids, i.e. types with an explicit equality relation, as a representation of sets. This paper surveys some possible denitions of setoids and assesses their suitability as a basis for developing mathematics. In particular, we argue that a commonly advocated approach to partial setoids is unsuitable, and more generally that total setoids seem better suited for formalising mathematics. 1
Normalization and partial evaluation
- Applied Semantics, number 2395 in LNCS
, 2002
"... Abstract. We give an introduction to normalization by evaluation and type-directed partial evaluation. We first present normalization by evaluation for a combinatory version of Gödel System T. Then we show normalization by evaluation for typed lambda calculus with β and η conversion. Finally, we int ..."
Abstract
-
Cited by 14 (0 self)
- Add to MetaCart
Abstract. We give an introduction to normalization by evaluation and type-directed partial evaluation. We first present normalization by evaluation for a combinatory version of Gödel System T. Then we show normalization by evaluation for typed lambda calculus with β and η conversion. Finally, we introduce the notion of binding time, and explain the method of type-directed partial evaluation for a small PCF-style functional programming language. We give algorithms for both call-by-name and call-by-value versions of this language.
From Reduction-Based to Reduction-Free Normalization
, 2004
"... We present a systematic construction of a reduction-free normalization function. Starting from ..."
Abstract
-
Cited by 10 (7 self)
- Add to MetaCart
We present a systematic construction of a reduction-free normalization function. Starting from
Formalising formulas-as-types-as-objects
- Types for Proofs and Programs
, 2000
"... Abstract. We describe a formalisation of the Curry-Howard-Lawvere correspondence between the natural deduction system for minimal logic, the typed lambda calculus and Cartesian closed categories. We formalise the type of natural deduction proof trees as a family of sets Γ ⊢ A indexed by the current ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Abstract. We describe a formalisation of the Curry-Howard-Lawvere correspondence between the natural deduction system for minimal logic, the typed lambda calculus and Cartesian closed categories. We formalise the type of natural deduction proof trees as a family of sets Γ ⊢ A indexed by the current assumption list Γ and the conclusion A and organise numerous useful lemmas about proof trees categorically. We prove categorical properties about proof trees up to (syntactic) identity as well as up to βη-convertibility. We prove that our notion of proof trees is equivalent in an appropriate sense to more traditional representations of lambda terms. The formalisation is carried out in the proof assistant ALF for Martin-Löf type theory. 1
Type-Directed Partial Evaluation in Haskell
, 1998
"... We implement type-directed partial evaluation in the pure functional programming language Haskell, using type classes. 1 ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We implement type-directed partial evaluation in the pure functional programming language Haskell, using type classes. 1
The simple type theory of normalisation by evaluation
- Proceedings of the First International Workshop on Reduction Strategies in Rewriting and Programming (WRS 2001), number 57 in Electronic Notes in Theoretical Computer Science
, 2001
"... We develop the type theory of the Normalisation by Evaluation (NbE) algorithm for the λ-calculus in the simply-typed case. In particular, we show that the algorithm computes long β(η)-normal forms by means of Plotkin’s call-by-name and callby-value β-evaluation semantics. This is noteworthy (i) as t ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We develop the type theory of the Normalisation by Evaluation (NbE) algorithm for the λ-calculus in the simply-typed case. In particular, we show that the algorithm computes long β(η)-normal forms by means of Plotkin’s call-by-name and callby-value β-evaluation semantics. This is noteworthy (i) as the algorithm decides full βη-equality and (ii) as the algorithm so-far only has been presented in modeltheoretic terms. To showcase the effective means of the algorithm, we provide an environment machine implementation of the semantics: the NbE Machine. We also analyse the semantics and the environment machine in terms of strategies on the λ-calculus and subsequently address the untyped case. The proof burden is slight. 1

