BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Memento EPFL//
BEGIN:VEVENT
SUMMARY:Type-Safe Metaprogramming and Compilation Techniques for Optimizin
 g High-Level Programs
DTSTART:20191219T120000
DTEND:20191219T130000
DTSTAMP:20260407T194911Z
UID:a25b24053f60c7c31ed1ad5c23229713c408f06c644755725f1b0ad9
CATEGORIES:Conferences - Seminars
DESCRIPTION:Lionel Parreaux\nAbstract\nSoftware engineering practices have
  been steadily moving towards higher-level programming languages which imp
 rove safety\, productivity\, and code maintainability. However\, these gai
 ns are usually made at the cost of reduced performance: higher-level langu
 ages consume more memory\, run more slowly and require expensive garbage-c
 ollecting runtime systems.\nThe main driving force behind my research has 
 been the idea that “we can have our cake and it eat too” with the help
  of advances in type systems\, metaprogramming\, and compilers technology.
  High-level programs can be made as efficient as lower-level ones if we ha
 ve the tools to automatically remove all the high-level abstractions\, low
 ering them into specialized constructs. But removing abstractions is no ea
 sy feat.\nIn this talk\, I present Squid\, a Scala metaprogramming and ex
 tensible compiler framework\, which is aimed at solving such problems. Squ
 id enables the definition of program generators\, program transformers\, a
 nd domain-specific rewrite rules\, backed by advanced normalizing intermed
 iate program representations. Moreover\, Squid uses an extension of Scala'
 s type system to guarantee\, at compile-time of the metaprograms\, that ma
 nipulated programs remain well-typed and well-scoped. This way\, we can re
 tain the safety and maintainability of high-level code\, but without payin
 g for it at runtime. Squid was used\, among other things\, to implement a 
 new stream fusion algorithm and to design an efficient polymorphic linear 
 algebra library. Moreover\, it is currently being used to develop dbStage\
 , an efficient language-integrated database system.\n\nShort bio\nLionel P
 arreaux is a Ph.D. candidate at EPFL working with Christoph Koch on progra
 mming languages\, compilers\, and database technology. After falling in lo
 ve with Scala's flexibility and expressive power\, Lionel set out to creat
 e Squid\, a Scala metaprogramming framework. Squid joins theory and practi
 ce to unlock the great promises of multi-stage programming\, advanced comp
 iler techniques\, and domain-specific optimization. The core of Squid's ty
 pe system was presented at POPL 2018\, and papers on applications of Squid
  have been published at GPCE 2017 (receiving best paper award) and ECOOP 2
 019. Lionel interned at Microsoft Research Cambridge in 2018\, where he st
 arted a collaboration with Simon Peyton Jones on a novel graph-based inter
 mediate representation for optimizing functional programs.\n\n\n 
LOCATION:BC 410 https://plan.epfl.ch/?room==BC%20410
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR
