Daniel Hillerstrom

Effect Handlers All the Way Down

Effect handlers appear in various shapes all the way down through the software stack. At the top of the stack, in applications they appear directly or indirectly to encode contemporary non-local control idioms such as async/await, green threads, probabilistic sampling, backtracking search, etc. For runtime systems they offer a convenient mechanism for building reusable runtime components by providing a means for separating the details of the runtime system from the client code. In operating systems, effect handlers provide a way to virtualise and reinterpret system calls, thus providing a form of fine-grain containerisation. Near the bottom of the stack, at the instruction set architecture level, effect handlers serve as a structured way of doing stack switching. In this talk will give examples of effect handlers at various levels of the software stack as well as discuss the insights that we have learned from using them across the software stack.
 

back to overview
 

Biography

Daniel Hillerström is a senior researcher at the Computing Systems Laboratory in the Huawei Zurich Research Center in Switzerland. Prior to joining Huawei, he was a postdoctoral researcher working on the "effect handler oriented programming" project at The University of Edinburgh. He received a PhD in Computer Science from the Laboratory for Foundations of Computer Science at The University of Edinburgh. His PhD dissertation "Foundations for Programming and Implementing Effect Handlers" developed the operational foundations for effect handler oriented programming.