Write a Blog >>
ICFP 2019
Sun 18 - Fri 23 August 2019 Berlin, Germany
Mon 19 Aug 2019 10:52 - 11:15 at Aurora Borealis - Compilation & Parallelism Chair(s): Michael D. Adams

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 continuations that do not return or escape. While the IR works well practically, there still seems to be room for improvements, especially with regard to the complexity of optimization steps.

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 behaves like Felleisen’s C, eliminating certain redundant rewrites that would occur 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 behavior 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”.

Mon 19 Aug

icfp-2019-papers
10:30 - 12:00: Research Papers - Compilation & Parallelism at Aurora Borealis
Chair(s): Michael D. AdamsUniversity of Michigan
icfp-2019-papers10:30 - 10:52
Talk
Matthew FlattUniversity of Utah, Caner DericiIndiana University, R. Kent DybvigCisco Systems, Inc, Andy KeepCisco Systems, Inc, Gustavo E. MassaccesiUniversidad de Buenos Aires, Sarah SpallIndiana University, Sam Tobin-HochstadtIndiana University, Jon Zeppieri
icfp-2019-papers10:52 - 11:15
Talk
Youyou CongTokyo Institute of Technology, Leo OsvaldPurdue University, USA, Gregory Essertel, Tiark RompfPurdue University
icfp-2019-papers11:15 - 11:37
Talk
Akimasa MorihataUniversity of Tokyo
icfp-2019-papers11:37 - 12:00
Talk
Stefan MullerCarnegie Mellon University, Sam WestrickCarnegie Mellon University, Umut AcarCarnegie Mellon University