Useful real-world functional programs must often confront the Awkward Squad , a range of un-beautiful issues concerning the interplay between concurrency, input/output, exceptions, resources, etc. We show that algebraic effects and their handlers can elegantly express such programs without compromising performance. In particular, we introduce asynchronous effects and their handlers, and show how they elegantly solve the interaction between user-level threads and operating system services.
Thu 7 SepDisplayed time zone: Belfast change
16:50 - 17:40
|Effects without monads: non-determinism
|Effectively tackling the awkward squad