BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//pretalx//talks.python-summit.ch//swiss-python-summit-2026//speak
 er//UN98WW
BEGIN:VTIMEZONE
TZID:Europe/Zurich
BEGIN:DAYLIGHT
DTSTART:20251022T000000
TZNAME:CEST
TZOFFSETFROM:+0200
TZOFFSETTO:+0200
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:20251026T030000
RDATE:20261025T030000
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20260329T030000
RDATE:20270328T030000
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
SUMMARY:Eliminate hidden exceptions via railway-oriented programming - Chr
 istoph Gietl
DTSTART;TZID=Europe/Zurich:20261022T094500
DTEND;TZID=Europe/Zurich:20261022T101500
DTSTAMP:20261111T040114Z
UID:pretalx-swiss-python-summit-2026-XNHXFL@talks.python-summit.ch
DESCRIPTION:Python’s dynamic nature makes it easy to miss hidden excepti
 ons and implicit control flow\, leading to bugs that static type checkers 
 such as `mypy`\, `pyrefly`\, `pyright`\, or `ty` cannot catch. Railway-ori
 ented programming (ROP) addresses this by making all domain outcomes expli
 cit in function signatures\, using a `Result` type instead of exceptions. 
 This talk introduces ROP in Python\, showing how it enables type-safe cont
 rol flow that static analyzers can verify.\n\nWe will compare three open-s
 ource libraries: `Expression` by Dag Brattli\, `returns` by Nikita Sobolev
  (Drylabs)\, and `trcks` by the speaker\, each offering different approach
 es to ROP. Special focus will be given to `trcks`\, which uniquely support
 s both object-oriented (method chaining) and functional (pipeline composit
 ion) styles while being designed for maximum type safety and interoperabil
 ity.\n\nAttendees will learn when and how to use ROP in both synchronous a
 nd asynchronous code\, how to choose the right library\, and when ROP is n
 ot the best fit. By the end\, you will know how to write Python code that 
 is safer\, more predictable\, and easier to maintain without sacrificing e
 xpressiveness. Attendees should be familiar with type annotations and stat
 ic type checking in Python. A basic understanding of object-oriented progr
 amming and of functional programming can be helpful but is not strictly re
 quired.
LOCATION:Aula 4.101
URL:https://talks.python-summit.ch/swiss-python-summit-2026/talk/XNHXFL/
END:VEVENT
END:VCALENDAR
