Session

Taming the Effects Zoo

It's 2020 and you've decided it's time to embrace Functional Programming paradigm. You learn Scala or, even better, Haskell, and there starts a long, tiresome and desperating journey through the delightful and frightening intricacies of pure functional idioms, daunting libraries, innumerable compiler extensions and religious wars over semantics of
categorical constructs on social media, to answer THE question: How are you supposed to do something useful with a _pure_ functional programming language, eg. a language that explicitly _forbids_ side-effects?

This talk attempts to answer this question in a somewhat accessible way, by explaining the various ways one can _encode_ side-effects in a pure functional setting. Using a simple but realistic example application, we explore various constructs, trying to assess their relative merits and flaws. Explaining _in concreto_ what are IO monad, monad transformers, free monads, effects handlers and more, should led you to a better understanding of the tradeoffs involved and possibly enlightenment on the real value and power of functional
programming languages.

Arnaud Bailly

Helping teams delivering better software at Pankzsoft

Nantes, France

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top