/ Papers / Effectively tackling the awkward squad
In the ACM ML Workshop, Sep 2017
PDF   BibTeX  

Abstract. 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.

Authors. Stephen Dolan, Spiros Eliopoulos, Daniel Hillerstrom, Anil Madhavapeddy, KC Sivaramakrishnan and Leo White

See Also. This publication was part of the OCaml Labs project.

News Updates

Jan 2023. «» Recap of the OCaml community in 2022 posted along with plans to join the 'fediverse'.
Apr 2022. «» Update posted to the OCaml community on progress towards OCaml 5.0.
Feb 2022. «» Update posted to the OCaml community on post-multicore-merge activities in OCaml trunk.
Dec 2021. «» Update posted to the OCaml community on major multicore code review with Inria.
Oct 2021. «» Update posted to the OCaml community on confirmation that the effect system will appear in OCaml 5.0.
Aug 2021. «» Published a roadmap for OCaml.org's revamp.
Aug 2020. «» Update on multicore OCaml being ready for testing / «» Talk on the state of the OCaml Platform in 2020.
Apr 2020. «» Update the OCaml community on multicore progress and linked preprint of ICFP submission on the runtime.
Jan 2020. «» Began updating the OCaml community regularly with multicore monthly reports.
Nov 2018. «» Rearranged the OCaml opam repository layout.
Sep 2017. «» Paper on how to tackle awkward IO patterns with effect handlers / «» Talk on the state of the OCaml Platform.
May 2016. «» Announced HyperKit, VPNKit and DataKit for the Docker ecosystem.
Sep 2015. «» Update on the state of the OCaml Platform.
Apr 2015. «» Updated the OCaml community on annual OCaml Labs activities for 2014.
Feb 2015. «» Announced a call for sponsorships for ICFP 2015 in my role as industrial relations chair.
Sep 2014. «» Talk on the OCaml Platform reaching v1.0.
Aug 2014. «» Note on talks from OCaml Labs at ICFP 2014.
Mar 2014. «» Call for sponsorships for ICFP 2014 in my role as industrial relations chair / «» Note on an experiment to improve the coupling of opam with GitHub / «» Note on the Codio support for the opam package manager.
Dec 2013. «» Updated the OCaml community on the activities of OCaml Labs in 2013.
Nov 2013. «» Note on integrating Docker and opam more effectively.
Sep 2013. «» Note on the release of the OPAM 1.1 beta / «» Liveblog from the CUFP 2013 workshop at ICFP / «» Liveblog from the OCaml 2013 workshop.
Apr 2013. «» Note on how to grep the source code for all packages on opam.
Oct 2012. «» Announced the opening of OCaml Labs at Cambridge, along with Jane Street support.
Sep 2012. «» Recording of the OCaml Labs announcement.
Feb 2012. «» Note on using ARM Dreamplugs with OCaml published.
Apr 2011. «» Trip report about the new OCaml Users Group in Paris / «» Blogged about the growth of functional programming in the Systems Research Group.