Onward! 2019 will be held at Athens, Greece from 20-25 October 2019, co-located with SPLASH (including OOPSLA). Masuhara serves as the Program Chair of Onward! Papers Track.
Paper submission deadline is 22 April 2019. Please submit your radical, visionary and innovative ideas!
Professor Fernando Castor at Federal University of Pernambuco (UFPE), Brazil joined our group as a visiting scholar. He will jointly work with us until February 2020.
Sherif Omar joined our group as an exchange student from Technische Universität Berlin. He will work with us until March. Herzlich willkommen!
Fathul Asrar Alfansuri joined our group as a new master’s course student under IGP(A). He is the second Indonesian member in the group. Selamat datang!
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.
- Jeanie Adkisson, who is to finish her Master’s degree, will move to Canada and work in a public sector.
- Tomoyuki Aotani, who has been served as an assistant professor from the foundation of the group, will pursuit professional experiences in industry.
- Li Dongfang, who is to finish his Master’s degree, starts working at Institute of Advanced Artificial Intelligence in Nanjing.
- Matthias Springer, who is to finish his Doctoral degree, will work for Google.
- Chengkai Yang, who is to finish the Tokyo Tech Summer Program, will go back Georgia Tech, his home university.
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.