Skip to content
0:00 / 0:00

#implicits#scala3#dotty

Keynote - What to Leave Implicit by Martin Odersky

Scala Days Conferences

10K subscribers • 21 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Martin Odersky
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

18K views9 years ago1 recommendation

Programming languagesSoftware designScalaLanguage design and type systems

Martin Odersky explores the design, implementation, and ergonomics of implicits in Scala, discussing their benefits and potential pitfalls.

This video was recorded at Scala Days Chicago 2017 Follow us on Twitter @ScalaDays or visit our website for more information scaladays.org Abstract: 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.

Why it's here

1 person recommends this

What people say. Shared as a key Scala Days keynote discussing the evolution and design of implicits.

u/know_not_muchin r/scala • Recommends

(Scala Days 2017)Keynote - What to Leave Implicit by Martin Odersky

u/jackcviersin r/scala • Mentions

On “Intro to typelevel programming: Part 1 (Type-classes)”

To invoke authority /u/Odersky advocates using implicits for context/dependency injection in his latest talk. He also says "If I had to pick one feature that makes scala scala, it would be implicits." They are part of the language and the standard library and are a basic building block of the language. You use them whenever you sort, map, groupBy, or toX a collection. You use them whenever you flatMap a list or option or future. You use them whenever you do anything on strings. They are everywhere in both large and small programs. They are not evil. They aren't magic. They are a differentiating feature, so you have to learn them. Two talks: What To Leave Implicit -- /u/Odersky Impli…