BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Memento EPFL//
BEGIN:VEVENT
SUMMARY:ADTs are a simple yet surprisingly powerful concept
DTSTART:20200227T100000
DTEND:20200227T110000
DTSTAMP:20260509T100933Z
UID:8e2cbd7f9b9e34a94a84cf585cbd641ae372e8f7463424109b5ef0db
CATEGORIES:Conferences - Seminars
DESCRIPTION:By Nicolas Rinaudo (https://twitter.com/NicolasRinaudo)\, Scal
 a & FP enthusiast\, CTO of Besedo (https://besedo.com)\, author and mainta
 iner of a few Scala OSS libraries\n\nAbstract\nAlgebraic Data Types are a 
 very simple\, yet very powerful tool to use when designing systems. Most d
 evelopers are familiar with them\, or subsets of what we call ADTs\, even 
 if they are not aware of them - enumerations\, for example\, or records.\n
 \nThe purpose of this talk is to clarify what ADTs are\, what properties t
 hey have and how these properties can be used to express strong invariants
  at the data level - such as making illegal states or state transitions im
 possible to represent.\n\nIt also explores the generalised form of ADTs - 
 GADTs - and attempts to lift some of the confusion that surrounds them in 
 the Scala community.\n\nWe will also (lightly) tackle the theory behind th
 em and try to understand where the “algebraic” part of the name comes 
 from.\n\nBy 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 o
 wn projects directly.\n\n# Misc.\n\nADTs 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.\n\nHaving both failed and succ
 eeded at explaining them a fair amount of times\, I feel I now have a fair
 ly 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.
LOCATION:INF 211 https://plan.epfl.ch/?room==INF%20211
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR
