GPCE 2017
Mon 23 - Tue 24 October 2017 Vancouver, Canada
co-located with SPLASH 2017
Mon 23 Oct 2017 10:55 - 11:20 at Regency A - Staging Chair(s): Nada Amin

Metaprogramming is among the most promising candidates to solve the abstraction vs performance trade-off that plagues software engineering through specialization. Metaprogramming has been used to enable low-overhead generic programming for a long time, with C++ templates being one of the most prominent examples. But often a single, fixed pattern of specialization is not enough, and more flexibility is needed. Hence, this paper seeks to apply generic programming techniques to challenges in metaprogramming, in particular to abstract over the execution stage of individual program expressions. We thus extend the scope of generic programming into the dimension of time. The resulting notion of stage polymorphism enables novel abstractions in the design of program generators, which we develop and explore in this paper. We present one possible implementation, in Scala using the lightweight modular staging (LMS) framework, and apply it to two important case studies: convolution on images and the fast Fourier transform (FFT).

http://dl.acm.org/authorize?N47281
this URL might only work when visiting from a http://www.sigplan.org/ URL.

Mon 23 Oct
Times are displayed in time zone: Tijuana, Baja California change

10:30 - 12:00: StagingGPCE 2017 at Regency A
Chair(s): Nada AminUniversity of Cambridge
10:30 - 10:55
Talk
Refining Semantics for Multi-stage Programming
GPCE 2017
Rui GeUniversity of British Columbia, Canada, Ronald GarciaUniversity of British Columbia, Canada
DOI Authorizer link
10:55 - 11:20
Talk
Staging for Generic Programming in Space and Time
GPCE 2017
Georg OfenbeckETH Zurich, Switzerland, Tiark RompfPurdue University, Markus PüschelETH Zürich
DOI Authorizer link
11:20 - 11:45
Talk
Staging with Control: Type-Safe Multi-stage Programming with Control Operators
GPCE 2017
Junpei OishiUniversity of Tsukuba, Japan, Yukiyoshi KameyamaUniversity of Tsukuba, Japan
DOI Authorizer link
11:45 - 12:00
Talk
Code Staging in GNU GuixShort paper
GPCE 2017
Ludovic CourtèsInria, France
DOI Authorizer link