GPCE 2021
Sun 17 - Fri 22 October 2021 Chicago, Illinois, United States
co-located with SPLASH 2021
Mon 18 Oct 2021 09:00 - 09:15 at Zurich C - SLE/GPCE Session 5 Chair(s): Eelco Visser
Mon 18 Oct 2021 17:00 - 17:15 at Zurich C - SLE/GPCE Session 5 Chair(s): Paddy Krishnan

The MetaML approach for multi-stage programming provides the static guarantee of type safety and scope safety for generated code regardless of the actual values of static parameters. While the traditional MetaML approach is restricted to term generation, Watanabe et al. presents a preliminary study on a two-stage language for generating ML-style modules, which provides high-level abstractions for large-scale programming. Unfortunately, their language has the problems of limited expressiveness and incomplete proofs of properties, and also an efficiency problem (the code-explosion problem). Recently, Sato et al. solved the latter issue, while the former problems are left as they are. This paper introduces refined two-stage programming languages for generating ML-style modules, which solve the above issues. Our languages accommodate module generation for two different module styles: first-class modules with generative functors and second-class modules with applicative functors, which are supported, but cannot be generated by MetaOCaml. Since generative functors and applicative functors have their own merits and demerits, our languages can be a better basis for the study of module generation. We also present a type-preserving translation from our languages to plain MetaOCaml, and an implementation based on the translations. Finally, we show the result of our experiments against a microbencmark, which shows that our translation does not have the code-explosion problem, and there are cases where module-generation is effective for program specialization.

Mon 18 Oct

Displayed time zone: Central Time (US & Canada) change

09:00 - 10:20
SLE/GPCE Session 5SLE / GPCE at Zurich C +8h
Chair(s): Eelco Visser Delft University of Technology
09:00
15m
Talk
Type-safe generation of modules in applicative and generative stylesVirtual
GPCE
Yuhi Sato University of Tsukuba, Yukiyoshi Kameyama University of Tsukuba
09:15
15m
Talk
HACCLE: Metaprogramming for Secure Multi-Party ComputationVirtual
GPCE
Yuyan Bao Purdue University, Kirshanthan Sundararajah Purdue University, Raghav Malik Purdue University, Qianchuan Ye Purdue University, Christopher Wagner Purdue University, Nouraldin Jaber Purdue University, Fei Wang Purdue University, Mohammad Hassan Ameri Purdue university, Donghang Lu Purdue University, Alexander Seto Purdue University, Benjamin Delaware Purdue University, Roopsha Samanta Purdue University, Aniket Kate Purdue University, Christina Garman Purdue University, Jeremiah Blocki Purdue University, Pierre-David Letourneau Reservoir Labs, Benoit Meister Reservoir Labs, Jonathan Springer Reservoir Labs, Tiark Rompf Purdue University, Milind Kulkarni Purdue University
09:30
15m
Talk
Multi-Stage Programming with Generative and Analytical MacrosVirtualGPCE Best Paper Award
GPCE
09:45
15m
Talk
Metaprogramming with CombinatorsVirtual
GPCE
Mahshid Shahmohammadian Drexel University, Geoffrey Mainland Drexel University
10:00
20m
Live Q&A
Discussion, Questions and Answers
SLE

17:00 - 18:20
SLE/GPCE Session 5GPCE / SLE at Zurich C
Chair(s): Paddy Krishnan Oracle Labs, Australia
17:00
15m
Talk
Type-safe generation of modules in applicative and generative stylesVirtual
GPCE
Yuhi Sato University of Tsukuba, Yukiyoshi Kameyama University of Tsukuba
17:15
15m
Talk
HACCLE: Metaprogramming for Secure Multi-Party ComputationVirtual
GPCE
Yuyan Bao Purdue University, Kirshanthan Sundararajah Purdue University, Raghav Malik Purdue University, Qianchuan Ye Purdue University, Christopher Wagner Purdue University, Nouraldin Jaber Purdue University, Fei Wang Purdue University, Mohammad Hassan Ameri Purdue university, Donghang Lu Purdue University, Alexander Seto Purdue University, Benjamin Delaware Purdue University, Roopsha Samanta Purdue University, Aniket Kate Purdue University, Christina Garman Purdue University, Jeremiah Blocki Purdue University, Pierre-David Letourneau Reservoir Labs, Benoit Meister Reservoir Labs, Jonathan Springer Reservoir Labs, Tiark Rompf Purdue University, Milind Kulkarni Purdue University
17:30
15m
Talk
Multi-Stage Programming with Generative and Analytical MacrosVirtualGPCE Best Paper Award
GPCE
17:45
15m
Talk
Metaprogramming with CombinatorsVirtual
GPCE
Mahshid Shahmohammadian Drexel University, Geoffrey Mainland Drexel University
18:00
20m
Live Q&A
Discussion, Questions and Answers
SLE