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...
Main Authors: | , |
---|---|
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 |