Author:
Kim Jung-taek,Yi Kwangkeun,Danvy Olivier
Abstract
ML's exception handling makes it possible to describe exceptional execution flows conveniently, but it also forms a performance bottleneck. Our goal is to reduce this overhead by source-level transformation. <br />To this end, we transform source programs into continuation-passing style (CPS), replacing handle and raise expressions by continuation-catching and throwing expressions, respectively. CPS-transforming every expression, however, introduces a new cost. We therefore use an exception analysis to transform expressions selectively: if an expression is statically determined to involve exceptions then it is CPS-transformed; otherwise, it is left in direct style. <br />In this article, we formalize this selective CPS transformation, prove its correctness, and present early experimental data indicating its effect on ML programs.
Publisher
Det Kgl. Bibliotek/Royal Danish Library
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Verifying Selective CPS Transformation for Shift and Reset;Lecture Notes in Computer Science;2020
2. Relatively Complete Pushdown Analysis of Escape Continuations;Lecture Notes in Computer Science;2019
3. Selective CPS transformation for shift and reset;Proceedings of the ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation;2017-12-25
4. Comparing Control Constructs by Double-barrelled CPS Transforms;Electronic Notes in Theoretical Computer Science;2001-11