DeepAI AI Chat
Log In Sign Up

Space Improvements and Equivalences in a Functional Core Language

by   Manfred Schmidt-Schauß, et al.
IG Farben Haus

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.


page 1

page 2

page 3

page 4


Optimizing Space of Parallel Processes

This paper is a contribution to exploring and analyzing space-improvemen...

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

To support the understanding of declarative probabilistic programming la...

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...

Addressing Machines as models of lambda-calculus

Turing machines and register machines have been used for decades in theo...

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

The functional correspondence is a manual derivation technique transform...

Explicit Effect Subtyping

As popularity of algebraic effects and handlers increases, so does a dem...

Efficient Implementation of Evaluation Strategies via Token-Guided Graph Rewriting

In implementing evaluation strategies of the lambda-calculus, both corre...