email = (λname . name ++ "@ed.ac.uk")
email "daniel.hillerstrom"
My research interests revolve around effect handlers, a novel control abstraction for implementing user-definable computational effects such as concurrency, backtracking, input/output, state, exceptions, and so forth. My work concerns both the theory and practice of effect handlers.
With Sam Lindley, I study canonical implementations of effect handlers such as continuation passing styles and abstract machines. We also study the relationship between deep and shallow variations of effect handlers. In the context of the web programming Links, we also explore language designs to make programming with effect handlers safe, modular, and compositional.
John Longley and I investigate the expressive power of effect handlers and how they fit into the landscape of programming abstractions. We are working on semantic characterisations of first-class control to unveil and better understand the mathematical content of control operators.
With Andreas Rossberg, I am exploring the design and implementation of effect handlers in WebAssembly. The intention is to use effect handlers as the compilation primitive for implementing contemporary control idioms such as co-routines, generators/iterators, and async/await.
I also contribute to the implementation of effect handlers in Multicore OCaml — an experimental extension to OCaml which uses effect handlers as the primary means for implementing highly scalable, user-definable concurrency abstractions.
Ningning Xie, Jonathan Brachthäuser, Daniel Hillerström, Philipp Schuster, and Daan Leijen
In ICFP'20
Daniel Hillerström, Sam Lindley, and John Longley
In ICFP'20
Daniel Hillerström, Sam Lindley, and Robert Atkey
In JFP (special issue on algebraic effects and handlers) 30:e5
Daniel Hillerström and Sam Lindley
In APLAS'18
Stephen Dolan, Spiros Eliopoulos, Daniel Hillerström, Anil Madhavapeddy, KC Sivaramakrishnan, and Leo White
In TFP'17
Daniel Hillerström, Sam Lindley, Robert Atkey, and KC Sivaramakrishnan
In FSCD'17
Daniel Hillerström and Sam Lindley
In TyDe@ICFP'16
Daniel Hillerström
Frank Emrich and Daniel Hillerström
Daniel Hillerström, Sam Lindley, Robert Atkey, KC Sivaramakrishnan, and Jeremy Yallop
Stephen Dolan, Spiros Eliopoulos, Daniel Hillerström, Anil Madhavapeddy, KC Sivaramakrishnan, Leo White
Daniel Hillerström, Sam Lindley, and KC Sivaramakrishnan
Daniel Hillerström
PhD dissertation, School of Informatics, The University of Edinburgh, May 2021
Daniel Hillerström
MSc(R) dissertation, School of Informatics, The University of Edinburgh, August 2016
Daniel Hillerström
MSc dissertation, School of Informatics, The University of Edinburgh, August 2015
Daniel Hillerström and Mathias Ruggaard Pedersen
BSc dissertation, Department of Computer Science, Aalborg University, June 2013
Presented at Tarides, Paris, France
Presented at SPLS, virtual event
Presented at Wasm Stacks Subgroup, virtual event
Presented at ML Family Workshop, virtual event
Presented at Dagstuhl Seminar 21922, virtual event
Presented at PLUG, University of Glasgow.
Presented at ICFP'20, virtual event
Presented at Microsoft Research, Redmond, USA
Presented at Shonan seminar 146, Japan
Presented at Shonan seminar 146, Japan
Presented at Google, Aarhus, Denmark
Presented at "Programming Language Interest Group (PLInG)", The University of Edinburgh
Presented at Dagstuhl seminar 18172, Germany
Presented at ProWeb, Nice, France
Presented at Pervasive Parallelism Lunch, The University of Edinburgh
Presented at CUFP@ICFP'17, Oxford, United Kingdom
Presented at FSCD'17, Oxford, United Kingdom
Presented at "CDT Pervasive Parallelism Student Showcase", The University of Edinburgh
Presented at "Scottish Programming Languages Seminar (SPLS)", University of St Andrews
Presented at Pervasive Parallelism Lunch, The University of Edinburgh.
Presented at ML Family Workshop, Nara, Japan
Presented at TyDe@ICFP'16, Nara, Japan.
Presented at Critical Blue Ltd, Edinburgh
Presented at the "Systems Research Group Meeting", Computer Laboratory at the University of Cambridge
Presented at "Programming Language Interest Group (PLInG)", The University of Edinburgh
Presented at "Practical Types", Summer school, University of St Andrews
Autumn 2017
School of Informatics, the University of Edinburgh
Spring 2017
School of Informatics, the University of Edinburgh
Autumn 2016
School of Informatics, the University of Edinburgh
Autumn 2015
School of Informatics, the University of Edinburgh
September 2015 - August 2016
The University of Edinburgh, Scotland
Advised by Christophe Dubach and Sam Lindley
September 2014 - August 2015
The University of Edinburgh, Scotland
Advised by Sam Lindley
August 2010 - June 2014
Aalborg University, Denmark
Advised by Hans Hüttel
November 2016
Dissertation: "Compilation of Effect Handlers and their Applications in Concurrency"
Awarded by the School of Informatics, the University of Edinburgh, Scotland
September 2016
Entry: "First-Class Message-Passing Concurrency with Handlers"
Awarded by the ICFP SRC Committee
November 2015
Dissertation: "Handlers for Algebraic Effects in Links"
Awarded by the School of Informatics, the University of Edinburgh, Scotland