GPCE 2017
Mon 23 - Tue 24 October 2017 Vancouver, Canada
co-located with SPLASH 2017
Tue 24 Oct 2017 10:30 - 10:55 at Regency A - Performance Chair(s): Matthew Flatt

Staging has proved a successful technique for programmatically removing code abstractions, thereby allowing for faster program execution while retaining a high-level interface for the programmer. Unfortunately, techniques based on staging suffer from a number of problems — ranging from practicalities to fundamental limitations — which have prevented their widespread adoption. We introduce Quoted Staged Rewriting (QSR), an approach that uses type-safe, pattern matching-enabled quasiquotes to define optimizations. The approach is “staged” in two ways: first, rewrite rules can execute arbitrary code during pattern matching and code reconstruction, leveraging the power and flexibility of staging; second, library designers can orchestrate the application of successive rewriting phases (stages). The advantages of using quasiquote-based rewriting are that library designers never have to deal directly with the intermediate representation (IR), and that it allows for non-intrusive optimizations — in contrast with staging, it is not necessary to adapt the entire library and user programs to accommodate optimizations.

We show how Squid, a Scala macro-based framework, enables QSR and renders library-defined optimizations more practical than ever before: library designers write domain-specific optimizers that users invoke transparently on delimited portions of their code base. As a motivating example we describe an implementation of stream fusion (a well-known deforestation technique) that is both simpler and more powerful than the state of the art, and can readily be used by Scala programmers with no knowledge of metaprogramming.

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

Tue 24 Oct

gpce-2017
10:30 - 12:00: GPCE 2017 - Performance at Regency A
Chair(s): Matthew FlattUniversity of Utah
gpce-201710:30 - 10:55
Talk
DOI Authorizer link Media Attached
gpce-201710:55 - 11:20
Talk
Joseph CaldwellUniversity of Tokyo, Japan, Shigeru ChibaUniversity of Tokyo, Japan
DOI Authorizer link
gpce-201711:20 - 11:45
Talk
Arsène Pérard-GayotSaarland University, Germany, Martin WeierBonn-Rhein-Sieg University of Applied Sciences, Germany, Richard MembarthDFKI, Germany, Philipp SlusallekDFKI, Germany, Roland LeißaSaarland University, Germany, Sebastian HackSaarland University, Germany
DOI Authorizer link
gpce-201711:45 - 12:00
Talk
Adilla SusungiMINES ParisTech, France, Norman A. RinkTU Dresden, Germany, Jeronimo CastrillonTU Dresden, Germany, Immo HuismannTU Dresden, Germany, Albert CohenInria, France / ENS, France, Claude TadonkiMINES ParisTech, France, Jörg StillerTU Dresden, Germany, Jochen FröhlichTU Dresden, Germany
DOI Authorizer link