Abstract machines, optimal reduction, and streams

In this paper, we propose and explore a new approach to abstract machines and optimal reduction via streams, infinite sequences of elements. We first define a sequential abstract machine capable of performing directed virtual reduction (DVR) and then we extend it to its parallel version, whose equivalence is explained through the properties of DVR itself. The result is a formal definition of the λ -calculus interpreter called Parallel Environment for Lambda Calculus Reduction (PELCR), a software for λ -calculus reduction based on the Geometry of Interaction. In particular, we describe PELCR as a stream-processing abstract machine, which in principle can also be applied to infinite streams.

[1]  Leslie G. Valiant,et al.  A bridging model for multi-core computing , 2008, J. Comput. Syst. Sci..

[2]  Francesco Quaglia,et al.  PELCR: Parallel environment for optimal lambda-calculus reduction , 2007, TOCL.

[3]  Jorge Sousa Pinto Parallel Implementation Models for the lambda-Calculus Using the Geometry of Interaction , 2001, TLCA.

[4]  Patrick Baillot,et al.  Elementary Complexity and Geometry of Interaction , 1999, Fundam. Informaticae.

[5]  Frédéric Gava,et al.  An ML Implementation of the MULTI-BSP Model , 2018, 2018 International Conference on High Performance Computing & Simulation (HPCS).

[6]  Vincent Danos,et al.  Local and asynchronous beta-reduction (an analysis of Girard's execution formula) , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[7]  Francesco Quaglia,et al.  A parallel implementation for optimal lambda-calculus reduction , 2000, PPDP '00.

[8]  Ugo Dal Lago,et al.  Parallelism and Synchronization in an Infinitary Context , 2015, 2015 30th Annual ACM/IEEE Symposium on Logic in Computer Science.

[9]  Michel Mauny,et al.  The functional approach to programming , 1998 .

[10]  Martín Abadi,et al.  The geometry of optimal lambda reduction , 1992, POPL '92.

[11]  Jan J. M. M. Rutten,et al.  A tutorial on coinductive stream calculus and signal flow graphs , 2005, Theor. Comput. Sci..

[12]  J. Girard Geometry of interaction III: accommodating the additives , 1995 .

[13]  Vincent Danos,et al.  Proof-nets and the Hilbert space , 1995 .

[14]  Andrea Asperti,et al.  The bologna optimal higher-order machine , 1995, Journal of Functional Programming.

[15]  Francesco Quaglia,et al.  Scheduling vs Communication in PELCR , 2002, Euro-Par.

[16]  Marco Solieri Geometry of resource interaction and Taylor-Ehrhard-Regnier expansion: a minimalist approach , 2018, Math. Struct. Comput. Sci..

[17]  Jan J. M. M. Rutten,et al.  A coinductive calculus of streams , 2005, Mathematical Structures in Computer Science.

[18]  M. Lawson Inverse Semigroups, the Theory of Partial Symmetries , 1998 .

[19]  P. J. Landin The Mechanical Evaluation of Expressions , 1964, Comput. J..

[20]  Luca Roversi,et al.  Light combinators for finite fields arithmetic , 2015, Sci. Comput. Program..

[21]  Vincent Danos,et al.  Directed Virtual Reductions , 1996, CSL.

[22]  Mario Piazza,et al.  Kalmar elementary complexity and von neumann algebras , 2018 .

[23]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[24]  Luca Roversi,et al.  Typing a Core Binary-Field Arithmetic in a Light Logic , 2011, FOPARA.

[25]  Vivek Sarkar,et al.  X10: an object-oriented approach to non-uniform cluster computing , 2005, OOPSLA '05.

[26]  Luca Roversi,et al.  Can a Light Typing Discipline Be Compatible with an Efficient Implementation of Finite Fields Inversion? , 2013, FOPARA.

[27]  J. Roger Hindley,et al.  Introduction to combinators and λ-calculus , 1986, Acta Applicandae Mathematicae.

[28]  Marco Pedicini,et al.  Sequential and Parallel Abstract Machines for Optimal Reduction , 2014 .

[29]  Pierre-Louis Curien,et al.  An Abstract Framework for Environment Machines , 1991, Theor. Comput. Sci..

[30]  Jon Fairbairn,et al.  TIM: A simple, lazy abstract machine to execute supercombinatorics , 1987, FPCA.

[31]  Jean-Yves Girard,et al.  Geometry of interaction 2: deadlock-free algorithms , 1990, Conference on Computer Logic.

[32]  Damiano Mazza,et al.  Distilling abstract machines , 2014, ICFP.

[33]  Andrea Asperti,et al.  The optimal implementation of functional programming languages , 1998, Cambridge tracts in theoretical computer science.

[34]  Ian Mackie,et al.  The geometry of interaction machine , 1995, POPL '95.

[35]  Jorge Sousa Pinto,et al.  Parallel implementation models for the λ-calculus using the geometry of interaction , 2001 .

[36]  John Lamping,et al.  An algorithm for optimal lambda calculus reduction , 1989, POPL '90.