Results 1 
8 of
8
Type Assignment and Termination of Interaction Nets
"... Interaction nets have proved to be a useful tool for the study of computational aspects of different formalisms (e.g. calculus, term rewriting systems), but they are also a programming paradigm in themselves, and this is actually how they were introduced by Lafont. In this paper we consider semisi ..."
Abstract

Cited by 7 (4 self)
 Add to MetaCart
Interaction nets have proved to be a useful tool for the study of computational aspects of different formalisms (e.g. calculus, term rewriting systems), but they are also a programming paradigm in themselves, and this is actually how they were introduced by Lafont. In this paper we consider semisimple interaction nets as a programming language, and present a type assignment system using intersection types. First we show that interactions preserve types (i.e. the system enjoys subject reduction), and we compare this type assignment system with the intersection systems for calculus and term rewriting systems. Then we define a recursion scheme that ensures termination of all interaction sequences. By relaxing the scheme and using the type assignment system, we derive another sufficient condition for termination of interaction nets. Finally, we show that although the type system based on general intersection types is not decidable, its restriction to rank 2 types is, and we give an algo...
A Calculus for Interaction Nets
, 1999
"... . Interaction nets are graphical rewriting systems which can be used as either a highlevel programming paradigm or a lowlevel implementation language. However, an operational semantics together with notions of strategy and normal form which are essential to reason about implementations, are not ea ..."
Abstract

Cited by 7 (4 self)
 Add to MetaCart
. Interaction nets are graphical rewriting systems which can be used as either a highlevel programming paradigm or a lowlevel implementation language. However, an operational semantics together with notions of strategy and normal form which are essential to reason about implementations, are not easy to formalize in this graphical framework. The purpose of this paper is to study a textual calculus for interaction nets, with a formal operational semantics, which provides a foundation for implementation. In addition, we are able to specify in this calculus various strategies, and a type system which formalizes the notion of partition used to define semisimple nets. The resulting system can be seen as a kernel for a programming language, analogous to the calculus. 1 Introduction Interaction nets, introduced by Lafont [12], offer a graphical paradigm of computation based on net rewriting. They have proven themselves successful for application in computer science, most notably with the ...
Parallel Evaluation of Interaction Nets with MPINE
"... We describe the MPINE tool, a multithreaded evaluator for Interaction Nets. The evaluator is an implementation of the present author 's Abstract Machine for Interaction Nets [5] and uses POSIX threads to achieve concurrent execution. When running on a multiprocessor machine (say an SMP archite ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
We describe the MPINE tool, a multithreaded evaluator for Interaction Nets. The evaluator is an implementation of the present author 's Abstract Machine for Interaction Nets [5] and uses POSIX threads to achieve concurrent execution. When running on a multiprocessor machine (say an SMP architecture), parallel execution is achieved eortlessly, allowing for desktop parallelism on commonly available machines. Interaction Nets Interaction Nets [3] are a graphrewriting formalism where the rewriting rules are such that only pairs of nodes, connected in a specic way, may be rewritten. Because of this restriction, the formalism enjoys strong local conuence. Although the system has been introduced as a visual, simple, and inherently parallel programming language, translations have been given of other formalisms into Interaction Nets, specically termrewriting systems [1] and the calculus [2, 4]. When used as an intermediate implementation language for these systems, Interactio...
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.
Combining Interaction Nets with Externally Defined Programs
"... Many calculi, for instance the calculus and term rewriting systems, have benefitted from extensions, especially to include data structures and operations which are more naturally defined in another language. A simple example of this is PCF where the calculus is extended to include natural numbers ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Many calculi, for instance the calculus and term rewriting systems, have benefitted from extensions, especially to include data structures and operations which are more naturally defined in another language. A simple example of this is PCF where the calculus is extended to include natural numbers and some basic functions over this type, which avoids having to use inefficient encodings of numbers. In this paper we present a generalization of interaction nets along these lines. We begin by adding a fixed set of constants and predefined functions, before presenting the main contribution of the paper which is a system of interaction nets combined with an external language where functions and richer data types can be defined. Keywords: Interaction nets, Rewriting Systems, Combinations. 1
Compiling the lambdacalculus into Interaction Combinators
, 1998
"... In this paper we present a case study of the use of Lafont's interaction combinators for the coding of the calculus. We obtain a very simple, perhaps the simplest, system of rewriting which performs very well in comparison with extant interaction net implementations for the calculus. The coding i ..."
Abstract
 Add to MetaCart
In this paper we present a case study of the use of Lafont's interaction combinators for the coding of the calculus. We obtain a very simple, perhaps the simplest, system of rewriting which performs very well in comparison with extant interaction net implementations for the calculus. The coding is shown to be correct, and we give a series of experimental results using a prototype implementation. 1 Introduction Interaction nets [4] have been proposed by Yves Lafont as a new paradigm of computation, based on net rewriting. They can be understood as either a (graphical) programming language (analogous to term rewriting systems, for example) or as an "assembly" language for the encoding of other rewriting systems [3, 2, 1]. A key feature which makes interaction nets particularly interesting for study is that they capture explicitly erasing and duplication, which are the main components of any computational system. Once the process of duplication is built into a system, then one has acc...
c ○ Eugen Jiresch and Bernhard GramlichRealizing Monads in Interaction Nets via Generic Typed Rules
, 2011
"... Interaction net systems are a model of computation based on graph rewriting. They enjoy various nice properties which make them a promising basis for a functional programming language. However, mechanisms to model impure functions are indispensable for a practical language. A natural approach to ach ..."
Abstract
 Add to MetaCart
Interaction net systems are a model of computation based on graph rewriting. They enjoy various nice properties which make them a promising basis for a functional programming language. However, mechanisms to model impure functions are indispensable for a practical language. A natural approach to achieve this goal is the systematic use of monads. Yet, specifying the appropriate monads for impure language features is hard, due to the very restricted form of basic interaction rules. What is missing in particular, are appropriate means to specify higherorder functions and some typing mechanism that restricts computations to reasonable settings. In this paper, we propose two extensions of interaction nets which solve these problems. First we extend interaction rules with generic rules, thus adding a form of higherorder functions. Moreover, we define constraints on these rules to ensure the preservation of uniform confluence. In addition, we propose a simple type system in order to appropriately restrict the matching of generic rules. Finally, we show how the combination of these features, i.e., generic typed rules, can indeed be employed to model impure functions in interaction nets via monads in an intuitive and simple manner.