Scala Type Classes
Scala Type Classes are often used in different Scala libraries. Type Classes solve problems of OOP polymorphism using elegant ideas of parametric and ad hoc polymorphism. This leads to less coupled and more extensible code when designing a project library or leveraging already designed type system with type classes approach. In order to understand Type Classes, we will shorty look at their origination language, like Haskell, as well as similar idea of Type Classes in Rust. We will go through the Type Class implementation in Scala and look at future support of Type Classes in Scala 3 (Dotty).
Alexey Novakov is an experienced Scala and Java Developer, who has worked for more than 10 years in product-based and IT-consultancy companies. Alexey has been teaching Java via his own online courses for several years. Lately, he discovered Functional Programming and fell in love with it.