Home >

news ヘルプ

論文・著書情報


タイトル
和文: 
英文:Compiling with Continuations, or without? Whatever. 
著者
和文: 叢 悠悠, Leo Osvald, Gregory Essertel, Tiark Rompf.  
英文: Youyou Cong, Leo Osvald, Gregory Essertel, Tiark Rompf.  
言語 English 
掲載誌/書名
和文: 
英文:Proceedings of the ACM on Programming Languages 
巻, 号, ページ 3    ICFP   
出版年月 2019年8月 
出版者
和文: 
英文:ACM 
会議名称
和文: 
英文:The 24th International Conference on Functional Programming 
開催地
和文: 
英文:Berlin 
公式リンク https://dl.acm.org/citation.cfm?id=3341643
 
DOI https://doi.org/10.1145/3341643
アブストラクト What makes a good compiler IR? In the context of functional languages, there has been an extensive debate on the advantages and disadvantages of continuation-passing-style (CPS). The consensus seems to be that some form of explicit continuations is necessary to model jumps in a functional style, but that they should have a 2nd-class status, separate from regular functions, to ensure efficient code generation. Building on this observation, a recent study from PLDI 2017 proposed a direct-style IR with explicit join points, which essentially represent local continuations, i.e., functions that do not return or escape. While this IR can work well in practice, as evidenced by the implementation of join points in the Glasgow Haskell Compiler (GHC), there still seems to be room for improvement, especially with regard to the way continuations are handled in the course of optimization. In this paper, we contribute to the CPS debate by developing a novel IR with the following features. First, we integrate a control operator that resembles Felleisen’s C, eliminating certain redundant rewrites observed in the previous study. Second, we treat the non-returning and non-escaping aspects of continuations separately, allowing efficient compilation of well-behaved functions defined by the user. Third, we define a selective CPS translation of our IR, which erases control operators while preserving the meaning and typing of programs. These features enable optimizations in both direct style and full CPS, as well as in any intermediate style with selectively exposed continuations. Thus, we change the spectrum of available options from “CPS yes or no” to “as much or as little CPS as you want, when you want it”.

©2007 Institute of Science Tokyo All rights reserved.