Source author record

Ian Mackie

Ian Mackie appears in the imported research catalog. Authorship, coauthor and topic links are available while profile ownership is still unclaimed.

ResearcherUnclaimed source record

Catalog footprint

What is connected

9works
2topics
4close collaborators

Actions

Connect this record

Log in to claim

Research graph

See the researcher in context

Open full explorer

Inspect adjacent papers, topics, institutions and collaborators without losing the researcher page.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Published work

9 published item(s)

preprint2016arXiv

Compiling Process Networks to Interaction Nets

Kahn process networks are a model of computation based on a collection of sequential, deterministic processes that communicate by sending messages through unbounded channels. They are well suited for modelling stream-based computations, but are in no way restricted to this application. Interaction nets are graph rewriting systems that have many interesting properties for implementation. In this paper we show how to encode process networks using interaction nets, where we model both networks and messages in the same framework.

preprint2016arXiv

In-place Graph Rewriting with Interaction Nets

An algorithm is in-place, or runs in-situ, when it does not need any additional memory to execute beyond a small constant amount. There are many algorithms that are efficient because of this feature, therefore it is an important aspect of an algorithm. In most programming languages, it is not obvious when an algorithm can run in-place, and moreover it is often not clear that the implementation respects that idea. In this paper we study interaction nets as a formalism where we can see directly, visually, that an algorithm is in-place, and moreover the implementation will respect that it is in-place. Not all algorithms can run in-place however. We can nevertheless still use the same language, but now we can annotate parts of the algorithm that can run in-place. We suggest an annotation for rules, and give an algorithm to find this automatically through analysis of the interaction rules.

preprint2016arXiv

Linear Recursion

We define two extensions of the typed linear lambda-calculus that yield minimal Turing-complete systems. The extensions are based on unbounded recursion in one case, and bounded recursion with minimisation in the other. We show that both approaches are compatible with linearity and typeability constraints. Both extensions of the typed linear lambda-calculus are minimal, in the sense that taking out any of the components breaks the universality of the system. We discuss implementation techniques that exploit the linearity of the calculi. Finally, we apply the results to languages with fixpoint operators: we give a compilation of the programming language PCF into a linear lambda-calculus with linear unbounded recursion.

preprint2015arXiv

An Implementation Model for Interaction Nets

To study implementations and optimisations of interaction net systems we propose a calculus to allow us to reason about nets, a concrete data-structure that is in close correspondence with the calculus, and a low-level language to create and manipulate this data structure. These work together so that we can describe the compilation process for interaction nets, reason about the behaviours of the implementation, and study the efficiency and properties.

preprint2014arXiv

Proceedings 9th International Workshop on Developments in Computational Models

This volume contains a selection of the papers presented at the Ninth International Workshop on Developments in Computational Models (DCM 2013) held in Buenos Aires, Argentina on 26th August 2013, as a satellite event of CONCUR 2013. Several new models of computation have emerged in the last years, and many developments of traditional computational models have been proposed with the aim of taking into account the new demands of computer systems users and the new capabilities of computation engines. A new computational model, or a new feature in a traditional one, usually is reflected in a new family of programming languages, and new paradigms of software development. The aim of this workshop is to bring together researchers who are currently developing new computational models or new features for traditional computational models, in order to foster their interaction, to provide a forum for presenting new ideas and work in progress, and to enable newcomers to learn about current activities in this area.

preprint2013arXiv

Bigraphical Nets

Interaction nets are a graphical model of computation, which has been used to define efficient evaluators for functional calculi, and specifically lambda calculi with patterns. However, the flat structure of interaction nets forces pattern matching and functional behaviour to be encoded at the same level, losing some potential parallelism. In this paper, we introduce bigraphical nets, or binets for short, as a generalisation of interaction nets using ideas from bigraphs and port graphs, and we present a formal notation and operational semantics for binets. We illustrate their expressive power by examples of applications.

preprint2012arXiv

Proceedings 2nd International Workshop on Linearity

This volume contains a selection of the papers presented at the 2nd International Workshop on Linearity (LINEARITY'2012), which took place 1 April 2012 in Tallinn, Estonia. The workshop was a one-day satellite event of ETAPS 2012, the 15th European Joint Conference on Theory and Practice of Software. The aim of this workshop was to bring together researchers who are currently developing theory and applications of linear calculi, in order to foster their interaction, to provide a forum for presenting new ideas and work in progress, and to enable newcomers to learn about current activities in this area.