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.
this URL might only work when visiting from a URL.

Tue 24 Oct

10:30 - 12:00: GPCE 2017 - Performance at Regency A
Chair(s): Matthew FlattUniversity of Utah
gpce-2017150883380000010:30 - 10:55
DOI Authorizer link Media Attached
gpce-2017150883530000010:55 - 11:20
Joseph CaldwellUniversity of Tokyo, Japan, Shigeru ChibaUniversity of Tokyo, Japan
DOI Authorizer link
gpce-2017150883680000011:20 - 11:45
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-2017150883830000011:45 - 12:00
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