Scala has Sealed Trait + Case classes; Kotlin has Sealed and Data classes, and Java recently joined the party with sealed interfaces and records; They are called Algebraic Data Types aka ADTs.
You may wonder, what is algebraic about those types? Can you add them? Can you multiply them? Are they useful? Spoiler alert, the answers are yes, yes, and yes!
In this talk you will be introduced to ADTs and learn how you can do basic arithmetic with them. We will see how they can be used in practice and why they are a natural fit with Functional Programming languages.
We will even explore how high school algrebra can give us insight about our code.
Scheduled on Tuesday from 13:00 to 13:15 in Auditorium
Senior Software Engineer at ThousandEyes (part of Cisco) with a wide range of interests, from designing distributed systems to tinkering with programming languages. I love sharing my passion and knowledge of mathematical foundations underlying functional programming languages. As part of the Endpoint team at Cisco ThousandEyes I work on scaling our systems to cope with the 25x growth that came over the last year.