The Space of Interaction (long version)

04/28/2021
by   Beniamino Accattoli, et al.
0

The space complexity of functional programs is not well understood. In particular, traditional implementation techniques are tailored to time efficiency, and space efficiency induces time inefficiencies, as it prefers re-computing to saving. Girard's geometry of interaction underlies an alternative approach based on the interaction abstract machine (IAM), claimed as space efficient in the literature. It has also been conjectured to provide a reasonable notion of space for the lambda-calculus, but such an important result seems to be elusive. In this paper we introduce a new intersection type system precisely measuring the space consumption of the IAM on the typed term. Intersection types have been repeatedly used to measure time, which they achieve by dropping idempotency, turning intersections into multisets. Here we show that the space consumption of the IAM is connected to a further structural modification, turning multisets into trees. Tree intersection types lead to a finer understanding of some space complexity results from the literature. They also shed new light on the conjecture about reasonable space: we show that the usual way of encoding Turing machines into the lambda calculus cannot be used to prove that the space of the IAM is a reasonable cost model.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/18/2022

Multi Types and Reasonable Space (Long Version)

Accattoli, Dal Lago, and Vanoni have recently proved that the space used...
research
10/24/2020

The (In)Efficiency of Interaction

Evaluating higher-order functional programs through abstract machines in...
research
03/01/2022

Reasonable Space for the λ-Calculus, Logarithmically

Can the λ-calculus be considered as a reasonable computational model? Ca...
research
02/28/2018

The Dynamic Geometry of Interaction Machine: A Token-Guided Graph Rewriter

In implementing evaluation strategies of the lambda-calculus, both corre...
research
07/06/2018

Tight Typings and Split Bounds

Multi types---aka non-idempotent intersection types---have been used to ...
research
02/19/2018

Efficient Implementation of Evaluation Strategies via Token-Guided Graph Rewriting

In implementing evaluation strategies of the lambda-calculus, both corre...
research
02/19/2018

Space Improvements and Equivalences in a Functional Core Language

We explore space improvements in LRP, a polymorphically typed call-by-ne...

Please sign up or login with your details

Forgot password? Click here to reset