Colombia Scala Meetup
Where did the Implicits Go?
Struggling with Scala 2's implicit? It's powerful but challenging for newcomers and often misused. Fortunately, Scala 3's contextual abstractions can reduce the mental burden and enable the effective use of "implicit" in Scala 2. Let's review code examples to drive the intuition home.
Scala 2's "implicit" feature is a powerful tool for working with essential language features such as Typeclasses, Given Instances, Extension methods, Context bounds, and more. However, its complexity often makes it challenging to understand and use it correctly. Overuse or misuse of "implicit" can result in code that is difficult to maintain and extend, so it's crucial for newcomers to gain a deep understanding of "implicits" to make the most of Scala. A helpful way to achieve this is by learning Scala 3's contextual abstractions, which significantly reduce the mental burden of dealing with them. By gaining a solid grasp of contextual abstractions in Scala 3, you can learn to use "implicit" in Scala 2 effectively and quickly, while avoiding common pitfalls. This talk is designed for beginners and intermediate Scala developers.