Space Improvements and Equivalences in a Functional Core Language

02/19/2018
by   Manfred Schmidt-Schauß, et al.
0

We explore space improvements in LRP, a polymorphically typed call-by-need functional core language. A relaxed space measure is chosen for the maximal size usage during an evaluation. It abstracts from the details of the implementation via abstract machines, but it takes garbage collection into account and thus can be seen as a realistic approximation of space usage. The results are: a context lemma for space improving translations and for space equivalences, all but one reduction rule of the calculus are shown to be space improvements, and for the exceptional one we show bounds on the space increase. Several further program transformations are shown to be space improvements or space equivalences in particular the translation into machine expressions is a space equivalence. We also classify certain space-worsening transformations as space-leaks or as space-safe. These results are a step forward in making predictions about the change in runtime space behavior of optimizing transformations in call-by-need functional languages.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/22/2019

Optimizing Space of Parallel Processes

This paper is a contribution to exploring and analyzing space-improvemen...
research
05/30/2022

A Probabilistic Call-by-Need Lambda-Calculus – Extended Version

To support the understanding of declarative probabilistic programming la...
research
08/30/2022

Program Equivalence in an Untyped, Call-by-value Lambda Calculus with Uncurried Recursive Functions

We aim to reason about the correctness of behaviour-preserving transform...
research
07/01/2021

Addressing Machines as models of lambda-calculus

Turing machines and register machines have been used for decades in theo...
research
08/16/2021

Automating the Functional Correspondence between Higher-Order Evaluators and Abstract Machines

The functional correspondence is a manual derivation technique transform...
research
04/28/2021

The Space of Interaction (long version)

The space complexity of functional programs is not well understood. In p...

Please sign up or login with your details

Forgot password? Click here to reset