ADTs are a simple yet surprisingly powerful concept

Thumbnail

Event details

Date 27.02.2020
Hour 10:0011:00
Location
Category Conferences - Seminars
By Nicolas Rinaudo (https://twitter.com/NicolasRinaudo), Scala & FP enthusiast, CTO of Besedo (https://besedo.com), author and maintainer of a few Scala OSS libraries

Abstract
Algebraic Data Types are a very simple, yet very powerful tool to use when designing systems. Most developers are familiar with them, or subsets of what we call ADTs, even if they are not aware of them - enumerations, for example, or records.

The purpose of this talk is to clarify what ADTs are, what properties they have and how these properties can be used to express strong invariants at the data level - such as making illegal states or state transitions impossible to represent.

It also explores the generalised form of ADTs - GADTs - and attempts to lift some of the confusion that surrounds them in the Scala community.

We will also (lightly) tackle the theory behind them and try to understand where the “algebraic” part of the name comes from.

By the end of the talk, attendants should have a solid intuition of when and how to use them, and be able to bring them to use in their own projects directly.

# Misc.

ADTs are one of the techniques I find myself teaching most newcomers to functional programming - it’s a simple and elegant concept, but one that is not commonly taught or used in more, let’s say, down to earth communities.

Having both failed and succeeded at explaining them a fair amount of times, I feel I now have a fairly solid and intuitive explanation, working from concepts most developers are familiar with and enriching them little by little as new problems are found. I might not be the best person to speak on this subject, but I’ve done it enough that I certainly feel qualified to.

Practical information

  • General public
  • Free

Event broadcasted in

Share