This session was not filmed.
Most practical programming languages include ways of performing various non-functional effects, such as exceptions, generators, dynamic binding and concurrency. Languages typically offer ways for programmers to define new functions, new types, and sometimes even new syntax, but the set of available effects is usually baked into the language and cannot be extended within programs.
In this talk I'll show how a single language construct, the effect handler, makes it possible to define all the above effects and more within a program, transferring power from language designers to language users.
YOU MAY ALSO LIKE:
- Fast Track to F# with Tomas Petricek & Phil Trelford (in London on 9th - 10th September 2019)
- Functional Concurrency in .NET with C# and F# (in London on 9th - 10th September 2019)
- Haskell eXchange 2019 (in London on 10th - 11th October 2019)
- Clojure eXchange 2019 (in London on 2nd - 3rd December 2019)
- Hands-on: Fractal art with Fable and WebGL (in London on 20th June 2019)
- London Clojure July: Exploring REPL tooling with socket prepl (in London on 2nd July 2019)
- Scala 2.13 and Beyond! (SkillsCast recorded in April 2019)
- Introduction to Markov Chains in F# (SkillsCast recorded in April 2019)
Build your own effects
Jeremy is a senior researcher at the University of Cambridge Computer Laboratory, where he's a member of the OCaml Labs project and teaches an advanced functional programming course. He's the lead developer of the ocaml-ctypes foreign function library and is currently involved in the development of several new features for the OCaml language, including a typed macro system and support for overloading.