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

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

10:30 - 12:00
Compilation & ParallelismResearch Papers at Aurora Borealis
Chair(s): Michael D. Adams University of Michigan
10:30
22m
Talk
Rebuilding Racket on Chez Scheme (Experience Report)
Research Papers
Matthew Flatt University of Utah, Caner Derici Indiana University, R. Kent Dybvig Cisco Systems, Inc, Andy Keep Cisco Systems, Inc, Gustavo E. Massaccesi Universidad de Buenos Aires, Sarah Spall Indiana University, Sam Tobin-Hochstadt Indiana University, Jon Zeppieri
Link to publication DOI
10:52
22m
Talk
Compiling with Continuations, or without? Whatever.
Research Papers
Youyou Cong Tokyo Institute of Technology, Leo Osvald Purdue University, USA, Gregory Essertel Purdue University, Tiark Rompf Purdue University
11:15
22m
Talk
Lambda Calculus with Algebraic Simplification for Reduction Parallelization by Equational Reasoning
Research Papers
Akimasa Morihata University of Tokyo
11:37
22m
Talk
Fairness in Responsive Parallelism
Research Papers
Stefan K. Muller Carnegie Mellon University, Sam Westrick Carnegie Mellon University, Umut A. Acar Carnegie Mellon University