Curry On
June 19-20th, 2017

What to Leave Implicit
Martin Odersky



To understand a piece of program text one must also understand the con-text in which the program is to be executed. Modern programming languages offer an array of constructs to define context. In Scala, those constructs can be summed up as the three I’s: Imports, Inheritance, and Implicits. Implicits in particular are a central, but also controversial part of the language.

This talk explores the different facets of implicits in Scala, as they exist now and as they might evolve in the future. It highlights their potential benefits and problems, covering aspects of design, implementation, and ergonomics.


Martin Odersky is a professor at EPFL in Lausanne, Switzerland. He is best known as the creator of the Scala programming language. Prior to that, he made several contributions to the development of Java. He created the Pizza and GJ languages, designed the original version of generics for Java, and wrote the javac reference compiler.

More generally, Martin is is interested in programing languages and methods, in particular how object-oriented and functional programming can be made to work seamlessly together. He believes is that the two paradigms are two sides of the same coin and should be unified as much as possible. He was named an ACM fellow for his achievements in this area.