Token-passing nets were proposed by Sinot as a simple mechanism for encoding evaluation strategies for the λ-calculus in interaction nets. This work extends token-passing nets to cover a typed functional language equipped with structured types and unrestricted recursion. The resulting interaction system is derived systematically from the chosen big-step… (More)
In this paper we propose to use Interaction Nets as a formalism for Visual Functional Programming. We consider the use of recursion patterns and introduce a suitable archetype/instantiation mechanism for interaction agents. We also consider program transformation by fusion, a well-known transformation technique, and show that this extends smoothly to our… (More)
This paper introduces INblobs, a visual editor and interpreter for interaction nets that is presently being developed at Minho. The editor is based on Blobs, a front-end for drawing and editing graph diagrams written with wxHaskell. The tool fills a gap in the community, since all the existing tools for interaction nets take as input textual descriptions of… (More)
We propose a method for encoding iterators (recursion operators) using interaction nets. The method can be used to obtain a visual notation for functional programs, and also to extend with recursion the many translations of the λ-calculus into interaction nets, which have been proposed as efficient implementation mechanisms. We exemplify the method with a… (More)
In this paper we propose to use Interaction Nets as a formalism for Visual Functional Programming. We consider the use of recursion patterns as a programming idiom, and introduce a suitable archetype/instantiation mechanism for interaction agents, which allows one to define agents whose behaviour is based on recursion patterns.
We propose a method for encoding iterators (and recursion operators in general) using interaction nets (INs). There are two main applications for this: the method can be used to obtain a visual notation for functional programs; and it can be used to extend the existing translations of the λ-calculus into INs to languages with recursive types.