Prof. Alex Potanin (Victoria University of Wellington) gave two talks in our research group. Prof. Potanin is a developer of Wyvern, a cyber security-oriented programming language.
Talk 1: Wyvern – Security by Design
Talk 2: Decidable Subtyping for Path Dependent Types
A paper entitled “Extending Lift Intermediate Representation with Dynamic Length Arrays”, authored by Niimi and Masuhara is presented at the 127th IPSJ Workshop on Programming.
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”.