Daniel Hillerström

Daniel Hillerström (Research Postgraduate Student)

email = (λname . name ++ "@ed.ac.uk")
email "daniel.hillerstrom"

Informatics Forum
Office 5.24/1
10 Crichton Street
EH8 9AB, Edinburgh
United Kingdom
My calendar

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. In particular, we try to establish an asymptotic gap between languages with advanced control operators and languages without them through old fashion complexity theory, demonstrating that control operators are efficient.

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

I am a PhD student within the Laboratory for Foundations of Computer Science (LFCS) admitted through the Centre for Doctoral Training in Pervasive Parallelism. My supervisors are Sam Lindley (LFCS) and Christophe Dubach (ICSA).

Papers

Extended abstracts

Dissertations

  • Presented at Shonan seminar 146, Japan

  • Asymptotic Improvement through Delimited Control (2019.03.28)

    Presented at Shonan seminar 146, Japan

  • Taking Back Control (2018.12.13)

    Presented at Google, Aarhus, Denmark

  • Efficient Generic Search with Effect Handlers (2018.07.18)

    Presented at "Programming Language Interest Group (PLInG)", the University of Edinburgh

  • Handlers.Js (2018.04.26)

    Presented at Dagstuhl seminar 18172, Germany

  • Handlers.Js (2018.04.10)

    Presented at ProWeb, Nice, France

  • Blimey. JavaScript. (2018.02.14)

    Presented at Pervasive Parallelism Lunch, the University of Edinburgh.

  • Concurrent Programming with Effect Handlers (2017.09.07)

    Presented at CUFP@ICFP'17, Oxford, United Kingdom

  • Continuation Passing Style for Effect Handlers (2017.09.05)

    Presented at FSCD'17, Oxford, United Kingdom

  • Asynchronous Effect-based Input & Output (2017.06.14)

    Presented at "CDT Pervasive Parallelism Student Showcase", the University of Edinburgh

  • An Abstract Machine Semantics for Handlers (2017.03.22)

    Presented at "Scottish Programming Languages Seminar (SPLS)", University of St Andrews

  • Runtime Agnostic Concurrency with Handlers (2016.10.12)

    Presented at Pervasive Parallelism Lunch, the University of Edinburgh.

  • Presented at ML Family Workshop, Nara, Japan.

      

  • Liberating Effects with Rows and Handlers (2016.09.18)

    Presented at TyDe@ICFP'16, Nara, Japan.

        

  • Programming with Algebraic Effects and Handlers (2016.05.10)

    Presented at Critical Blue Ltd, Edinburgh

  • Towards Compilation of Affine Algebraic Effect Handlers (2016.04.26)

    Presented at the "Systems Research Group Meeting", Computer Laboratory at the University of Cambridge

  • Programming with effect handlers (2015.11.05)

    Presented at "Programming Language Interest Group (PLInG)", the University of Edinburgh

  • Presented at "Practical Types", Summer school, University of St Andrews

  • Master of Science by Research in Computer Science (Distinction)

    September 2015 - August 2016

    The University of Edinburgh, Scotland

    Advised by Christophe Dubach and Sam Lindley

  • Master of Science in Computer Science (Distinction)

    September 2014 - August 2015

    The University of Edinburgh, Scotland

    Advised by Sam Lindley

  • Joint Bachelor's degree in Computer Science and Mathematics

    August 2010 - June 2014

    Aalborg University, Denmark

    Advised by Hans Hüttel

  • Best Dissertation Award (Pervasive Parallelism)

    November 2016

    Dissertation: "Compilation of Effect Handlers and their Applications in Concurrency"

    Awarded by the School of Informatics, the University of Edinburgh, Scotland

  • Winner ICFP ACM Student Research Competition

    September 2016

    Entry: "First-Class Message-Passing Concurrency with Handlers"

    Awarded by the ICFP SRC Committee

  • Best Dissertation Award (Computer Science)

    November 2015

    Dissertation: "Handlers for Algebraic Effects in Links"

    Awarded by the School of Informatics, the University of Edinburgh, Scotland

  • Main organiser of SPLS June'19

    Event planning and programme selection

  • ICFP'19 Artifact Evaluation Committee

    Review and evaluation of artifacts associated with accepted papers

  • Co-organiser of ICFP'17 Programming Contest

    Contest planning, contest facilitation, and development of infrastructure