The resolution of mechanisms based on ad-hoc polymorphism, such as static overloading, type classes, implicit parameters, and implicit namespacing, is known to complicate compiler implementations significantly, especially in the presence of other expressive type system features. The main reason for this complexity in traditional statically-typed programming languages is that this resolution process is tightly coupled with the process of type inference – so, the more expressive and advanced the type system is, the more expensive and brittle the resolution process tends to become. In this proposed talk, I will argue that this tight coupling is not a necessity and I will present hybrid resolution, a radical departure from this status quo. Instead of relying on the rich type information produced by type inference, hybrid overloading uses approximate information gathered by a local type-aware static analysis that runs before type checking. This approach allows the resolution process to be fast, simple, and robust, while the language can still support an arbitrarily expressive type systems. It also means that type inference can be skipped or done in parallel for faster compilation times and shorter iteration cycles. We have started implementing this approach in a new programming language meant for practical use; I will report on our experience.
I am an Assistant Professor at the HKUST CSE department since February 2021. I am looking for students to join my research group! Please contact me (first-name dot last-name at gmail.com) if you’d like to work on something related to programming languages, type systems, or compiler optimization.
I obtained my PhD in 2020 from EPFL, in the Data Analysis Theory and Applications Laboratory (DATA), where I created the Squid type-safe metaprogramming library for Scala.
Sat 17 JanDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
11:00 - 12:30 | |||
11:00 22mTalk | Decoupling Resolution from Type Inference WITS Lionel Parreaux Hong Kong University of Science and Technology | ||
11:22 22mTalk | First-Class Refinement Types in Scala WITS Matt Bovel EPFL | ||
11:45 22mTalk | Types as grammars WITS Gil Silva LASIGE, University of Lisbon, Bernardo Almeida LASIGE, Faculty of Sciences, University of Lisbon, Diana Costa LASIGE, University of Lisbon, Andreia Mordido University of Lisbon, Diogo Poças Instituto de Telecomunicações, University of Lisbon, Vasco T. Vasconcelos LASIGE, University of Lisbon | ||
12:07 22mTalk | Omnidirectional type inference for ML WITS Alistair O'Brien University of Cambridge, Didier Rémy Inria, Gabriel Scherer Université Paris Cité - Inria - CNRS | ||
