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

There are a wide array of methods for writing code generators. We advocate for a point in the design space, which we call metaprogramming with combinators, where programmers use (and write) combinator libraries that directly manipulate object language terms. The key language feature that makes this style of programming palatable is quasiquotation. Our approach leverages quasiquation and other host language features to provide what is essentially a rich, well-typed macro language. Unlike other approaches, metaprogramming with combinators allows full control over generated code, thereby also providing full control over performance and resource usage. This control does not require sacrificing the ability to write high-level abstractions. We demonstrate metaprogramming with combinators through several code generators written in Haskell that produce VHDL targeted to Xilinx FPGAs.

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