Results 1  10
of
20
Encoding Linear Logic with Interaction Combinators
 Information and Computation
, 2002
"... The purpose of this paper is to demonstrate how Lafont’s interaction combinators, a system of three symbols and six interaction rules, can be used to encode linear logic. Specifically, we give a translation of the multiplicative, exponential and additive fragments of linear logic together with a str ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
(Show Context)
The purpose of this paper is to demonstrate how Lafont’s interaction combinators, a system of three symbols and six interaction rules, can be used to encode linear logic. Specifically, we give a translation of the multiplicative, exponential and additive fragments of linear logic together with a strategy for cutelimination which can be faithfully simulated. Finally, we show briefly how this encoding can be used for evaluating �terms. In addition to offering a very simple, perhaps the simplest, system of rewriting for linear logic and the �calculus, the interaction net implementation that we present has been shown by experimental testing to offer a good level of sharing, in terms of the number of cutelimination steps (resp. ¬reduction steps). In particular it performs better than all extant finite systems of interaction nets.
A Token Machine for Full Geometry of Interaction
 In TLCA ’01, SLNCS 2044
, 2001
"... We present an extension of the Interaction Abstract Machine (IAM) [4] to full Linear Logic with Girard's Geometry of Interaction (GoI) [6]. We propose a simplied way to interpret the additives and the interaction between additives and exponentials by means of weights [7]. We describe the interp ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
We present an extension of the Interaction Abstract Machine (IAM) [4] to full Linear Logic with Girard's Geometry of Interaction (GoI) [6]. We propose a simplied way to interpret the additives and the interaction between additives and exponentials by means of weights [7]. We describe the interpretation by a token machine which allows us to recover the usual MELL case by forgetting all the additive information. The Geometry of Interaction (GoI), introduced by Girard [5], is an interpretation of proofs (programs) by bideterministic automatons, turning the global cut elimination steps (reduction) into local transitions [4]. One of the main results of the MELLGoI is that it gives an algebraic characterization of the persistent paths of a proof, that is the paths in the graph structure of the proof that are not broken by cut elimination (see [3]). More abstractly, the presentation of the GoI may be generalized in the framework of traced monoidal categories [10]. Because of its local f...
A general theory of sharing graphs
 THEORET. COMPUT. SCI
, 1999
"... Sharing graphs are the structures introduced by Lamping to implement optimal reductions of lambda calculus. Gonthier's reformulation of Lamping's technique inside Geometry of Interaction, and Asperti and Laneve's work on Interaction Systems have shown that sharing graphs can be used t ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
(Show Context)
Sharing graphs are the structures introduced by Lamping to implement optimal reductions of lambda calculus. Gonthier's reformulation of Lamping's technique inside Geometry of Interaction, and Asperti and Laneve's work on Interaction Systems have shown that sharing graphs can be used to implement a wide class of calculi. Here, we give a general characterization of sharing graphs independent from the calculus to be implemented. Such a characterization rests on an algebraic semantics of sharing graphs exploiting the methods of Geometry of Interaction. By this semantics we can de ne an unfolding partial order between proper sharing graphs, whose minimal elements are unshared graphs. The leastshared instance of a sharing graph is the unique unshared graph that the unfolding partial order associates to it. The algebraic semantics allows to prove that we can associate a semantical readback to each unshared graph and that such a readback can be computed
CallbyName and CallbyValue as TokenPassing Interaction Nets
 In Proceedings of the 7th International Conference on Typed Lambda Calculi and Applications (TLCA’05
, 2005
"... Abstract. Two common misbeliefs about encodings of the λcalculus in interaction nets (INs) are that they are good only for strategies that are not very well understood (e.g. optimal reduction) and that they always have to deal in a complex way with boxes. In brief, the theory of interaction nets is ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
(Show Context)
Abstract. Two common misbeliefs about encodings of the λcalculus in interaction nets (INs) are that they are good only for strategies that are not very well understood (e.g. optimal reduction) and that they always have to deal in a complex way with boxes. In brief, the theory of interaction nets is more or less disconnected from the standard theory: we can do things in INs that we cannot do with terms, which is true [5, 10]; and we cannot do in INs things that can easily be done with terms. This paper contributes to fighting this misbelief by showing that the standard callbyname and callbyvalue strategies of the λcalculus are encoded in interaction nets in a very simple and extensible way, and in particular that these encodings do not need any notion of box. This work can also be seen as a first step towards a generic approach to derive graphbased abstract machines. 1
From functional programs to interaction nets via the Rewriting Calculus
 WRS 2006 PRELIMINARY VERSION
, 2006
"... We use the ρcalculus as an intermediate language to compile functional languages with patternmatching features, and give an interaction net encoding of the ρterms arising from the compilation. This encoding gives rise to new strategies of evaluation, where patternmatching and ‘traditional ’ βre ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
We use the ρcalculus as an intermediate language to compile functional languages with patternmatching features, and give an interaction net encoding of the ρterms arising from the compilation. This encoding gives rise to new strategies of evaluation, where patternmatching and ‘traditional ’ βreduction can proceed in parallel without overheads.
An Investigation on the Optimal Implementation of Processes
 Proc. of the Eleventh Conference on the Mathematical Foundations of Programming Semantics, MFPS'95, Electronic Notes in Computer Science
, 1995
"... We undertake the analysis of L'evy's notion of family relation in a concurrent scenario by providing an optimal implementation of an higherorder, concurrent language. The language considered turns out to be a sublanguage of (pure) Concurrent ML, where transmissible processes cannot show ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
We undertake the analysis of L'evy's notion of family relation in a concurrent scenario by providing an optimal implementation of an higherorder, concurrent language. The language considered turns out to be a sublanguage of (pure) Concurrent ML, where transmissible processes cannot show up any nondeterminism. 1 Introduction In the last years a new class of languages is gaining prominence: the socalled higher order concurrent languages. Among them we recall Concurrent ML [13], Facile [4] and ßcalculus [10]. These languages bring together two fundamental computational paradigms of computer science, functional programming and concurrency, with the aim of developing a support for applications requiring a combination of complex computations and concurrent/distributed computing. For instance, a manifest feature of higher order concurrent languages is the possibility to send complex data, such as processes and functions. This feature allows to describe in a direct way those facilities of...
Explicit Alpha Conversion and Garbage Collection in X
, 2006
"... This paper will present improvements on the term graph rewriting model of implementation for the (untyped) calculus X as presented in [3]. X is a new style calculus which embodies both substitution and context call, that has first been defined in [13] and was later extensively studied in [2]. ..."
Abstract
 Add to MetaCart
(Show Context)
This paper will present improvements on the term graph rewriting model of implementation for the (untyped) calculus X as presented in [3]. X is a new style calculus which embodies both substitution and context call, that has first been defined in [13] and was later extensively studied in [2].
An optimised term graph rewriting engine forX Measuring the cost of αconversion
"... This paper studies the calculus X, that has its foundation in Classical Logic; we present an implementation for X using term graph rewriting techniques, and discuss improvements thereof which result in an increasingly more efficient running of the reduction engine. We show that name capture can be d ..."
Abstract
 Add to MetaCart
(Show Context)
This paper studies the calculus X, that has its foundation in Classical Logic; we present an implementation for X using term graph rewriting techniques, and discuss improvements thereof which result in an increasingly more efficient running of the reduction engine. We show that name capture can be dealt with ‘on the fly’, by realising the avoidance of capture through adding or modifying the rewrite rules. We study two different approaches to garbage collection, and compare the various implementations by presenting benchmarks. 1
On Linear Types and Imperative Update
, 1997
"... of Dissertation August, 1997 The rift between imperative and functional programming is one of the oldest in computing. Imperative languages provide for greater speed and efficiency, especially through the use of destructive update of variables. Functional computation is often regarded as being much ..."
Abstract
 Add to MetaCart
(Show Context)
of Dissertation August, 1997 The rift between imperative and functional programming is one of the oldest in computing. Imperative languages provide for greater speed and efficiency, especially through the use of destructive update of variables. Functional computation is often regarded as being much cleaner mathematically, and is supportive of simple, rigorous reasoning principles. However, the absence of destructive update (along with problems with garbage collection, etc.) in functional languages results in a loss of speed and efficiency. Additionally, functional languages are conceptually indirect and cumbersome when used to express naturally imperative computation. The prospect of unifying these diverse forms of programming, to combine the best features from each, is a continuing concern in programming languages. This thesis investigates the extent to, and the sense in which, programming languages based on linear logic are simultaneously imperative and purely functional, and to wha...