Type Classes for the Rest of Us
Scala as an Object-Functional language has an almost endless supply of options to tackle the day-to-day problems that we run into as developers. However, it's often not clear when to choose one option over another. Type-classes provide a simple solution to several problem spaces -- often filling the gaps that other traditional solutions fail to fill. In my talk, I will iterate over a real-world problem using common tools made available by Scala to help gain some intuition about how type-classes work and why they are useful. Most importantly, since type-classes can be used to completely replace entire features of the Scala language, I give some concrete examples of pragmatic use-cases to show some insight into where and when to apply type-classes to day-to-day problems. Attendees will leave having a good intuition about when and where to apply type-classes to a problem - and even more importantly when *not* to apply it.