Miguel Vilaça

Learn 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)
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)
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)
The point-free style of programming [1] has been defended as a good choice for reasoning about functional programs. However, when one actually tries to construct a decision procedure for the associated equational theory, one faces problems, even when small fragments of the theory are considered. In this paper we outline how a graph-based decision procedure(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)
Safe is a first-order eager functional language with facilities for programmer-controlled destruction and copying of data structures and is intended for compile-time analysis of memory consumption. In Safe, heap and stack memory consumption depends on the length of recursive calls chains. Ensuring termination of Safe programs (or of particular function(More)
The point-free style of programming [1] has been defended as a good choice for reasoning about functional programs. However, when one actually tries to construct a decision procedure for the associated equational theory, one faces problems, even when small fragments of the theory are considered. In this paper we outline how a graph-based decision procedure(More)
  • 1