Senior Software Engineer @ 47 Degrees
Functional programmer. Blue sky thinker.
Algebraic data types, ADTs, sometimes called sum types, coproducts or sealed trait families, are a killer Scala feature that possibly does not get the focus it deserves. While many developers are happy and comfortable using ADTs when provided from the language or a library, they often don’t see the steps to take the next leap in creating ADTs for their own domain.
In this talk we will take a look at just what ADTs can do for you, covering some common classes that you don’t even realise are ADTs from the standard library and also some well-known libraries, revisit pattern matching, and understand how the compiler can help us with techniques such as folding. Finally, we will develop a brand new collection type using our new-found knowledge.