BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//pretalx//programme.europython.eu//europython-2026//talk//AXAV7D
BEGIN:VTIMEZONE
TZID:CET
BEGIN:STANDARD
DTSTART:20001029T040000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20000326T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
UID:pretalx-europython-2026-AXAV7D@programme.europython.eu
DTSTART;TZID=CET:20260717T143500
DTEND;TZID=CET:20260717T150500
DESCRIPTION:None is probably the most overloaded value in Python — and of
 ten the wrong one.\n\nPython quietly depends on sentinel values: None\, No
 tImplemented\, Ellipsis\, dataclasses.MISSING. They aren’t just placehol
 ders. They define semantics\, coordinate object interactions\, and influen
 ce API design in subtle but powerful ways.\n\nIn this talk\, we treat sent
 inel values as a deliberate design tool. We’ll uncover how NotImplemente
 d enables double dispatch\, why None frequently conflates “missing” wi
 th “empty\,” and how sentinel patterns permeate the standard library.\
 n\nBut the real tension appears in typing. Python’s type system still ca
 nnot properly express sentinel semantics. Optional\, overload\, and Litera
 l only approximate the problem\, and building a fully typed custom sentine
 l remains an open challenge.\n\nWe’ll examine the deferred PEP 661\, wha
 t it tried to solve\, and what its absence means today. Expect practical p
 atterns\, real-world examples\, and a sharper way to think about absence i
 n Python.
DTSTAMP:20260624T055501Z
LOCATION:S3B
SUMMARY:The Problem with None: Sentinel Values and the Semantics of Absence
  - Florian Wilhelm
URL:https://programme.europython.eu/europython-2026/talk/AXAV7D/
END:VEVENT
END:VCALENDAR
