Space Improvements and Equivalences in a Functional Core Language

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

Full description

Bibliographic Details
Main Authors: Manfred Schmidt-Schauß, Nils Dallmeyer
Format: Article
Language:English
Published: Open Publishing Association 2018-02-01
Series:Electronic Proceedings in Theoretical Computer Science
Online Access:http://arxiv.org/pdf/1802.06498v1
id doaj-f4150e4d654a4493a6311231bdc7bfa1
record_format Article
spelling doaj-f4150e4d654a4493a6311231bdc7bfa12020-11-25T01:49:22ZengOpen Publishing AssociationElectronic Proceedings in Theoretical Computer Science2075-21802018-02-01265Proc. WPTE 20179811210.4204/EPTCS.265.8:3Space Improvements and Equivalences in a Functional Core LanguageManfred Schmidt-Schauß0Nils Dallmeyer1 Goethe-University Frankfurt am Main Goethe-University Frankfurt am Main 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.http://arxiv.org/pdf/1802.06498v1
collection DOAJ
language English
format Article
sources DOAJ
author Manfred Schmidt-Schauß
Nils Dallmeyer
spellingShingle Manfred Schmidt-Schauß
Nils Dallmeyer
Space Improvements and Equivalences in a Functional Core Language
Electronic Proceedings in Theoretical Computer Science
author_facet Manfred Schmidt-Schauß
Nils Dallmeyer
author_sort Manfred Schmidt-Schauß
title Space Improvements and Equivalences in a Functional Core Language
title_short Space Improvements and Equivalences in a Functional Core Language
title_full Space Improvements and Equivalences in a Functional Core Language
title_fullStr Space Improvements and Equivalences in a Functional Core Language
title_full_unstemmed Space Improvements and Equivalences in a Functional Core Language
title_sort space improvements and equivalences in a functional core language
publisher Open Publishing Association
series Electronic Proceedings in Theoretical Computer Science
issn 2075-2180
publishDate 2018-02-01
description 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.
url http://arxiv.org/pdf/1802.06498v1
work_keys_str_mv AT manfredschmidtschauß spaceimprovementsandequivalencesinafunctionalcorelanguage
AT nilsdallmeyer spaceimprovementsandequivalencesinafunctionalcorelanguage
_version_ 1725006946226929664