New Visiting Member: Paul Leger
Professor Paul Leger at Universidad Católica del Norte, Chile joined our group as a visiting scholar. He will jointly work with us until January 2020.
Professor Paul Leger at Universidad Católica del Norte, Chile joined our group as a visiting scholar. He will jointly work with us until January 2020.
More than 20 students at Tokyo Tech High School of Science and Technology visited our group under their Summer Lecture at Tokyo Tech. We gave a few short talks on our research on programming environments and type systems.
We made the following two presentations at the JSSST 2019 Annual Conference.
Li received the student research award (学生奨励賞) and the best presentation award (優秀発表賞)!
Youyou Cong will present the following paper at ICFP 2019.
Title: Compiling with Continuations, or without? Whatever.
Authors: Youyou Cong, Leo Osvald, Gregory Essertel, and Tiark Rompf
Abstract:
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”.
We are sending off five members in these months.
We wish for their bright future, and hope we can see each other soon!
Chengkai Yang, an exchange student from Georgia Tech, gave the final presentation on his working during the Tokyo Tech Summer Program. He worked on KaniCUDA, a program synthesis-based optimization tool for CUDA programs, especially on accelerating the synthesizer speed.
Two members presented their Master’s theses.
The Computer Software journal of JSSST published Masuhara’s foreword titled “お前まだアレやってるの? (Are you still working on that?)” in the issue of August 2019.
Our paper “DynaSOAr: A Parallel Memory Allocator for Object-oriented Programming on GPUs with Efficient Memory Access”, authored by Matthias Springer and Hidehiko Masuhara, was accepted at the 33rd European Conference on Object-Oriented Programming (ECOOP 2019).
Matthias Springer had a public defense of his doctoral dissertation on “Memory-Efficient Object-Oriented Programming on GPUs.” His doctoral degree is almost there!