Alex Potanin 先生の講演
Alex Potanin 先生(ヴィクトリア大学ウェリントン)に、以下のタイトルでご講演いただきました。Potanin 先生は、攻撃に強いウェブプログラミング言語 Wyvern の開発を行っています。
講演 1: Wyvern – Security by Design
講演 2: Decidable Subtyping for Path Dependent Types
Alex Potanin 先生(ヴィクトリア大学ウェリントン)に、以下のタイトルでご講演いただきました。Potanin 先生は、攻撃に強いウェブプログラミング言語 Wyvern の開発を行っています。
講演 1: Wyvern – Security by Design
講演 2: Decidable Subtyping for Path Dependent Types
Lift中間表現における動的長配列の追加(新美、増原)が情報処理学会 第127回プログラミング研究発表会で発表されます。
Onward! 2019 国際会議 が2019年10月20-25日にアテネで開催されます。(OOPSLAを含む)SPLASH 国際会議と共催です。増原はOnward! Papers Trackのプログラム委員長を勤めます。
論文投稿締切は2019年4月22日です。過激な、ぶっ飛んだ、斬新なアイデアを振るって投稿して下さい!
ブラジルのFederal University of Pernambuco (UFPE) から来たFernando Castor先生が客員研究員として研究室に加わりました。2020年1月まで滞在して共同研究を行います。
ベルリン工科大学のSherif Omarが短期交換留生生として研究室に加わりました。3月まで滞在して研究を行う予定です。Herzlich willkommen!
チリのUniversidad Católica del Norteから来たPaul Leger先生が客員研究員として研究室に加わりました。2020年1月まで滞在して共同研究を行います。
東京工業大学附属科学技術高校の生徒約20名が、同校の「サマーレクチャー」の一環として本研究室を訪問しました。研究室からはプログラミング環境や型システムに関する研究紹介を行いました。
日本ソフトウェア科学会第36回大会において以下の研究発表を行いました。
叢悠悠が関数型言語の国際会議 ICFP 2019 で以下の論文を発表します。
タイトル: Compiling with Continuations, or without? Whatever.
著者: Youyou Cong, Leo Osvald, Gregory Essertel, and Tiark Rompf
概要:
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”.