Vous pouvez vous abonner à nos annonces de séminaires http://gallium.inria.fr/seminaires/ S E M I N A I R E ______ __ _ / ____/___ _____ ___ / /_ (_)_ ______ ___ / / / __ `/ __ `__ \/ __ \/ / / / / __ `__ \ / /___/ /_/ / / / / / / /_/ / / /_/ / / / / / / \____/\__,_/_/ /_/ /_/_.___/_/\__,_/_/ /_/ /_/ I N R I A - Paris 2 rue Simone Iff (ou: 41 rue du Charolais) Salle A215, bâtiment A MARDI 7 janvier, 10h30 --------------- Lionel Parreaux --------------- EPFL ====================================================== Partial Graph Reduction: A New Optimization Technique for Higher-Order Programs ====================================================== Inlining is a crucial compiler optimization which is used to uncover new optimization opportunities, helping to remove the cost of abstraction. Yet, too much inlining leads to code explosion, making compilation slow and producing large binaries. Moreover, inlining falls short given the task of optimizing recursive functions. Taking inspiration from optimal reduction, I will present a new graph-based 'partial reduction' technique, that reliably inlines just enough of a function's body to optimize it within its calling contexts. I will talk about a prototype implementation of that approach as a Haskell optimizer, and explain how it generalizes previous techniques and facilitates optimizations such as list fusion. Bio Lionel Parreaux is a Ph.D. candidate at EPFL working with Christoph Koch on programming languages, compilers, and database technology. After discovering Scala's flexibility and expressive power, Lionel set out to create Squid, a Scala metaprogramming framework. Squid joins theory and practice to unlock the great promises of multi-stage programming, advanced compiler techniques, and domain-specific optimization. The core of Squid's type system was presented at POPL 2018, and papers on applications of Squid have been published at GPCE 2017 (receiving best paper award) and ECOOP 2019. Lionel interned at Microsoft Research Cambridge in 2018, where he started a collaboration with Simon Peyton Jones on a novel graph-based intermediate representation for optimizing functional programs.