Results 1  10
of
82
MultiStage Programming: Its Theory and Applications
, 1999
"... MetaML is a statically typed functional programming language with special support for program generation. In addition to providing the standard features of contemporary programming languages such as Standard ML, MetaML provides three staging annotations. These staging annotations allow the construct ..."
Abstract

Cited by 86 (18 self)
 Add to MetaCart
MetaML is a statically typed functional programming language with special support for program generation. In addition to providing the standard features of contemporary programming languages such as Standard ML, MetaML provides three staging annotations. These staging annotations allow the construction, combination, and execution of objectprograms. Our thesis is that MetaML's three staging annotations provide a useful, theoretically sound basis for building program generators. This dissertation reports on our study of MetaML's staging constructs, their use, their implementation, and their formal semantics. Our results include an extended example of where MetaML allows us to produce efficient programs, an explanation of why implementing these constructs in traditional ways can be challenging, two formulations of MetaML's semantics, a type system for MetaML, and a proposal for extending ...
A lambdacalculus à la de Bruijn with explicit substitutions
, 1995
"... The aim of this paper is to present the scalculus which is a very simple calculus with explicit substitutions and to prove its confluence on closed terms and the preservation of strong normalisation of terms. We shall prove strong normalisation of the corresponding calculus of substitution by tra ..."
Abstract

Cited by 78 (26 self)
 Add to MetaCart
The aim of this paper is to present the scalculus which is a very simple calculus with explicit substitutions and to prove its confluence on closed terms and the preservation of strong normalisation of terms. We shall prove strong normalisation of the corresponding calculus of substitution by translating it into the oecalculus [ACCL91], and therefore the relation between both calculi will be made explicit. The confluence of the scalculus is obtained by the "interpretation method" ([Har89], [CHL92]). The proof of the preservation of normalisation follows the lines of an analogous result for the AEcalculus (cf. [BBLRD95]). The relation between s and AE is also studied.
Preservation of Strong Normalisation in Named Lambda Calculi with Explicit Substitution and Garbage Collection
 IN CSN95: COMPUTER SCIENCE IN THE NETHERLANDS
, 1995
"... In this paper we introduce and study a new lambdacalculus with explicit substitution, lambdaxgc, which has two distinguishing features: first, it retains the use of traditional variable names, specifying terms modulo renaming; this simplifies the reduction system. Second, it includes reduction rul ..."
Abstract

Cited by 65 (7 self)
 Add to MetaCart
In this paper we introduce and study a new lambdacalculus with explicit substitution, lambdaxgc, which has two distinguishing features: first, it retains the use of traditional variable names, specifying terms modulo renaming; this simplifies the reduction system. Second, it includes reduction rules for explicit garbage collection; this simplifies several proofs. We show that lambdaxgc is a conservative extension which preserves strong normalisation (PSN) of the untyped lambdacalculus. The result is obtained in a modular way by first proving it for garbagefree reduction and then extending to `reductions in garbage'. This provides insight into the counterexample to PSN for lambdasigma of Melliès (1995); we exploit the abstract nature of lambdaxgc to show how PSN is in conflict with any reasonable substitution composition rule (except for trivial composition rules of which we mention one). Key words: lambda calculus, explicit substitution, strong normalisation, garbage collection.
Explicit Substitution: on the Edge of Strong Normalization
 Theoretical Computer Science
, 1997
"... We use the Recursive Path Ordering (RPO) technique of semantic labelling to show the Preservation of Strong Normalization (PSN) property for several calculi of explicit substitution. Preservation of Strong Normalization states that if a term M is strongly normalizing under ordinary fireduction (us ..."
Abstract

Cited by 30 (2 self)
 Add to MetaCart
We use the Recursive Path Ordering (RPO) technique of semantic labelling to show the Preservation of Strong Normalization (PSN) property for several calculi of explicit substitution. Preservation of Strong Normalization states that if a term M is strongly normalizing under ordinary fireduction (using `global' substitutions), then it is strongly normalizing if the substitution is made explicit (`local'). There are different ways of making global substitution explicit and PSN is a quite natural and desirable property for the explicit substitution calculus. Our method for proving PSN is very general and applies to several known systems of explicit substitutions, both with named variables and with De Bruijn indices: AE of Lescanne et al., s of Kamareddine and R'ios and x of Rose and Bloo. We also look at two small extensions of the explicit substitution calculus that allow to permute substitutions. For one of these extensions PSN fails (using the counterexample in [Melli`es 95]). For the...
lambdacalculi with explicit substitutions and composition which preserve beta strong normalization (Extended Abstract)
, 1996
"... ) Maria C. F. Ferreira 1 and Delia Kesner 2 and Laurence Puel 2 1 Dep. de Inform'atica, Fac. de Ciencias e Tecnologia, Univ. Nova de Lisboa, Quinta da Torre, 2825 Monte de Caparica, Portugal, cf@fct.unl.pt. 2 CNRS & Lab. de Rech. en Informatique, Bat 490, Univ. de ParisSud, 91405 Orsay Cede ..."
Abstract

Cited by 27 (3 self)
 Add to MetaCart
) Maria C. F. Ferreira 1 and Delia Kesner 2 and Laurence Puel 2 1 Dep. de Inform'atica, Fac. de Ciencias e Tecnologia, Univ. Nova de Lisboa, Quinta da Torre, 2825 Monte de Caparica, Portugal, cf@fct.unl.pt. 2 CNRS & Lab. de Rech. en Informatique, Bat 490, Univ. de ParisSud, 91405 Orsay Cedex, France, fkesner,puelg@lri.fr. Abstract. We study preservation of fistrong normalization by d and dn , two confluent calculi with explicit substitutions defined in [10]; the particularity of these calculi is that both have a composition operator for substitutions. We develop an abstract simulation technique allowing to reduce preservation of fistrong normalization of one calculus to that of another one, and apply said technique to reduce preservation of fistrong normalization of d and dn to that of f , another calculus having no composition operator. Then, preservation of fistrong normalization of f is shown using the same technique as in [2]. As a consequence, d and dn become the fir...
Confluence Properties of Extensional and NonExtensional lambdaCalculi with Explicit Substitutions (Extended Abstract)
 in Proceedings of the Seventh International Conference on Rewriting Techniques and Applications
, 1996
"... ) Delia Kesner CNRS and LRI, B at 490, Universit e ParisSud  91405 Orsay Cedex, France. email:Delia.Kesner@lri.fr Abstract. This paper studies confluence properties of extensional and nonextensional #calculi with explicit substitutions, where extensionality is interpreted by #expansion. For ..."
Abstract

Cited by 22 (5 self)
 Add to MetaCart
) Delia Kesner CNRS and LRI, B at 490, Universit e ParisSud  91405 Orsay Cedex, France. email:Delia.Kesner@lri.fr Abstract. This paper studies confluence properties of extensional and nonextensional #calculi with explicit substitutions, where extensionality is interpreted by #expansion. For that, we propose a general scheme for explicit substitutions which describes those abstract properties that are sufficient to guarantee confluence. Our general scheme makes it possible to treat at the same time many wellknown calculi such as ## , ## # and ## , or some other new calculi that we propose in this paper. We also show for those calculi not fitting in the general scheme that can be translated to another one fitting the scheme, such as #s , how to reason about confluence properties of their extensional and nonextensional versions. 1 Introduction The #calculus is a convenient framework to study functional programming, where the evaluation process is modeled by #reduction. The...
Strong Normalization of Explicit Substitutions via Cut Elimination in Proof Nets
, 1997
"... In this paper, we show the correspondence existing between normalization in calculi with explicit substitution and cut elimination in sequent calculus for Linear Logic, via Proof Nets. This correspondence allows us to prove that a typed version of the #xcalculus [30, 29] is strongly normalizing, as ..."
Abstract

Cited by 22 (4 self)
 Add to MetaCart
In this paper, we show the correspondence existing between normalization in calculi with explicit substitution and cut elimination in sequent calculus for Linear Logic, via Proof Nets. This correspondence allows us to prove that a typed version of the #xcalculus [30, 29] is strongly normalizing, as well as of all the calculi isomorphic to it such as # # [24], # s [19], # d [21], and # f [11]. In order to achieve this result, we introduce a new notion of reduction in Proof Nets: this extended reduction is still confluent and strongly normalizing, and is of interest of its own, as it correspond to more identifications of proofs in Linear Logic that differ by inessential details. These results show that calculi with explicit substitutions are really an intermediate formalism between lambda calculus and proof nets, and suggest a completely new way to look at the problems still open in the field of explicit substitutions.
Confluence and Preservation of Strong Normalisation in an Explicit Substitutions Calculus
, 1996
"... Explicit substitutions calculi are formal systems that implement fireduction by means of an internal substitution operator. In that calculi it is possible to delay the application of a substitution to a term or to consider terms with partially applied substitutions. The oe calculus of explicit s ..."
Abstract

Cited by 20 (4 self)
 Add to MetaCart
Explicit substitutions calculi are formal systems that implement fireduction by means of an internal substitution operator. In that calculi it is possible to delay the application of a substitution to a term or to consider terms with partially applied substitutions. The oe calculus of explicit substitutions, proposed by Abadi, Cardelli, Curien andL evy, is a firstorder rewriting system that implements substitution and renaming mechanism of calculus. However, oe does not preserve strong normalisation of calculus and it is not a confluent system. Typed variants of oe without composition are strongly normalising but not confluent, while variants with composition are confluent but do not preserve strong normalisation. Neither of them enjoys both properties. In this paper we propose the i calculus. This is, as far as we know, the first confluent calculus of explicit substitutions that preserves strong normalisation. 1. Explicit substitutions The calculus is a higherorder theor...
Metaprogramming with Builtin Type Equality (Extended Abstract)
, 2004
"... Tim Sheard sheard@cse.ogi.edu Emir Pasalic + pasalic@cse.ogi.edu ABSTRACT We report our experience with exploring a new point in the design space for formal reasoning systems: the development of the programming language##ngu .##209 is intended as both a practical programming language and ..."
Abstract

Cited by 18 (3 self)
 Add to MetaCart
Tim Sheard sheard@cse.ogi.edu Emir Pasalic + pasalic@cse.ogi.edu ABSTRACT We report our experience with exploring a new point in the design space for formal reasoning systems: the development of the programming language##ngu .##209 is intended as both a practical programming language and a logic. The main goal of##102 is to allow programmers to describe and reason about semantic properties of programs from within the programming language itself, mainly by using a powerful type system.
Intersection types for explicit substitutions
, 2003
"... We present a new system of intersection types for a compositionfree calculus of explicit substitutions with a rule for garbage collection, and show that it characterizes those terms which are strongly normalizing. This system extends previous work on the natural generalization of the classical inte ..."
Abstract

Cited by 17 (6 self)
 Add to MetaCart
We present a new system of intersection types for a compositionfree calculus of explicit substitutions with a rule for garbage collection, and show that it characterizes those terms which are strongly normalizing. This system extends previous work on the natural generalization of the classical intersection types system, which characterized head normalization and weak normalization, but was not complete for strong normalization. An important role is played by the notion of available variable in a term, which is a generalization of the classical notion of free variable.