Blogs (28) >>
ICFP 2017
Sun 3 - Sat 9 September 2017 Oxford, United Kingdom
Thu 7 Sep 2017 14:00 - 15:00 at L5 - CUFP Tutorials C3 Chair(s): Runhang Li

Algebraic effect handlers are a new control operator that generalize common control-flow abstractions such as exceptions, generators, or concurrency, as well as other seemingly esoteric programming abstractions such as transactional memory and probabilistic computations. The idea of algebraic effects and handlers has been experimented with in the form of libraries in several mainstream languages, including OCaml, Haskell, Standard ML, Clojure, and Scala. Multicore OCaml is an extension of OCaml with effect handlers as a primary means of expressing concurrency. Effect handlers are used to implement thread schedulers as user-level libraries, enabling programmers to specialize their concurrency and parallelization strategies.

We propose a tutorial on practical concurrent and parallel programming using effect handlers in Multicore OCaml. We aim to introduce algebraic effects handlers in Multicore OCaml with toy examples. We will then illustrate through several hands-on exercises, how exceptions, cooperative concurrency, generators, async/await mechanisms can be implemented using effect handlers.

The tutorial is targeted at functional programmers who are beginners in concurrent programming.

Thu 7 Sep

Displayed time zone: Belfast change

14:00 - 15:00
CUFP Tutorials C3CUFP at L5
Chair(s): Runhang Li Twitter, Inc
Tutorial C3: Concurrent Programming with Effect Handlers
T: Daniel Hillerström The University of Edinburgh, T: KC Sivaramakrishnan University of Cambridge