A CPS-Like Transformation of Continuation Marks
Continuation marks are a programming language feature which generalize stack inspection. Despite its usefulness, this feature has not been adopted by languages which rely on stack inspection, e.g., for dynamic security checks. One reason for this neglect may be that continuation marks do not yet enj...
Main Author: | |
---|---|
Format: | Others |
Published: |
BYU ScholarsArchive
2012
|
Subjects: | |
Online Access: | https://scholarsarchive.byu.edu/etd/3436 https://scholarsarchive.byu.edu/cgi/viewcontent.cgi?article=4435&context=etd |
id |
ndltd-BGMYU2-oai-scholarsarchive.byu.edu-etd-4435 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-BGMYU2-oai-scholarsarchive.byu.edu-etd-44352021-08-21T05:01:46Z A CPS-Like Transformation of Continuation Marks Germane, Kimball Richard Continuation marks are a programming language feature which generalize stack inspection. Despite its usefulness, this feature has not been adopted by languages which rely on stack inspection, e.g., for dynamic security checks. One reason for this neglect may be that continuation marks do not yet enjoy a transformation to the plain λ-calculus which would allow higher-order languages to provide continuation marks at little cost. We present a CPS-like transformation from the call-by-value λ-calculus augmented with continuation marks to the pure call-by-value λ-calculus. We discuss how this transformation simplifies the construction of compilers which treat continuation marks correctly. We document an iterative, feedback-based approach using Redex. We accompany the transformation with a meaning-preservation theorem. 2012-11-26T08:00:00Z text application/pdf https://scholarsarchive.byu.edu/etd/3436 https://scholarsarchive.byu.edu/cgi/viewcontent.cgi?article=4435&context=etd http://lib.byu.edu/about/copyright/ Theses and Dissertations BYU ScholarsArchive continuation marks continuation-passing style Redex Computer Sciences |
collection |
NDLTD |
format |
Others
|
sources |
NDLTD |
topic |
continuation marks continuation-passing style Redex Computer Sciences |
spellingShingle |
continuation marks continuation-passing style Redex Computer Sciences Germane, Kimball Richard A CPS-Like Transformation of Continuation Marks |
description |
Continuation marks are a programming language feature which generalize stack inspection. Despite its usefulness, this feature has not been adopted by languages which rely on stack inspection, e.g., for dynamic security checks. One reason for this neglect may be that continuation marks do not yet enjoy a transformation to the plain λ-calculus which would allow higher-order languages to provide continuation marks at little cost. We present a CPS-like transformation from the call-by-value λ-calculus augmented with continuation marks to the pure call-by-value λ-calculus. We discuss how this transformation simplifies the construction of compilers which treat continuation marks correctly. We document an iterative, feedback-based approach using Redex. We accompany the transformation with a meaning-preservation theorem. |
author |
Germane, Kimball Richard |
author_facet |
Germane, Kimball Richard |
author_sort |
Germane, Kimball Richard |
title |
A CPS-Like Transformation of Continuation Marks |
title_short |
A CPS-Like Transformation of Continuation Marks |
title_full |
A CPS-Like Transformation of Continuation Marks |
title_fullStr |
A CPS-Like Transformation of Continuation Marks |
title_full_unstemmed |
A CPS-Like Transformation of Continuation Marks |
title_sort |
cps-like transformation of continuation marks |
publisher |
BYU ScholarsArchive |
publishDate |
2012 |
url |
https://scholarsarchive.byu.edu/etd/3436 https://scholarsarchive.byu.edu/cgi/viewcontent.cgi?article=4435&context=etd |
work_keys_str_mv |
AT germanekimballrichard acpsliketransformationofcontinuationmarks AT germanekimballrichard cpsliketransformationofcontinuationmarks |
_version_ |
1719460904501772288 |