Loading…

Loading grant details…

Completed FELLOWSHIP UKRI Gateway to Research

Effect Handler Oriented Programming

£11.6M GBP

Funder UK Research and Innovation Future Leaders Fellowship
Recipient Organization University of Edinburgh
Country United Kingdom
Start Date Feb 01, 2021
End Date Jan 31, 2025
Duration 1,460 days
Number of Grantees 2
Roles Fellow; Award Holder
Data Source UKRI Gateway to Research
Grant ID MR/T043830/1
Grant Description

In an economy in which the UK software industry added £139 billion of value to UK GDP in 2018 alone, this fellowship will transform the way developers write software. By offering a radically new way of composing and customising programs, I will empower software developers to build more flexible, maintainable, and robust software.

Computers must interact with the real world. In computer programs real world effects are pervasive, e.g.: concurrency (performing two computations at once), distribution (performing computation in different places), input, output, and probability (e.g. for machine learning). Effect handlers are a general programming feature that can be used to

implement all of these effects. They were introduced by theoretical computer scientists as part of a mathematical model of effects. Thanks in part to my efforts they now show promise as a practical programming tool. Interest in effect handlers in industry is growing. For instance, Facebook's React Fiber, the core of the market-leading React

user interface library for web applications, is directly inspired by effect handlers, and Uber's Pyro tool for probabilistic programming and statistical inference makes essential use of effect handlers. Preliminary results suggest effect handlers have the potential to support efficient implementations. Nevertheless, existing

implementations are in their infancy and research is required to make them scale, both in terms of ease of programming and in terms of performance. I will develop the theory and practice of Effect Handler Oriented Programming as a uniform foundation for modular and efficient implementation of effects. I will develop both high-level (for humans)

and low-level (for machines) effect handler designs and implementations. In collaboration with my project partners I will ensure that EHOP has direct impact through two key technologies. + Hack. I will add effect handlers to Hack, the high-level programming language in which the Facebook server is written. Hack currently

provides ad hoc support for features such as concurrency and probabilistic programming, which I will replace by effect handlers, eliminating the need to maintain several ad hoc features, and introducing fine-grained control over details such as scheduling strategies. This will allow more flexible, maintainable, and robust

software to be written in Hack, ultimately improving the user experience of billions of Facebook users. + WebAssembly. I will design and implement an effect handler extension for WebAssembly, a portable low-level bytecode supported by the top four browser vendors and designed to supersede JavaScript as the

target language for the web. Currently, languages such as JavaScript provide a collection of ad hoc overlapping concurrency features. Each of these is hard-wired and has to be maintained separately. However, all of them can be implemented with minimal effort using effect handlers. Rather than hard-wiring and maintaining several ad hoc

features, compiler developers will be able to rely on a single implementation of effect handlers in WebAssembly. This will enable more flexible, maintainable, and reliable programming language implementations, ultimately improving the user experience of billions of web users. A "killer app" for effect handlers is concurrency and distribution. A

central aspect of concurrency and distribution is communication. For communication to be safe, secure, and reliable, all parties must comply with appropriate protocols. Session types are a nascent technology for enforcing protocol compliance. Unifying the two main threads of my research over the last half decade, I will extend the

theory and practice of effect handlers to enable session-typed concurrency and distribution features to be defined as effect handlers. Ultimately, this will enable safe, secure, and reliable communication infrastructure for billions of end users.

All Grantees

University of Edinburgh

Advertisement
Discover thousands of grant opportunities
Advertisement
Browse Grants on GrantFunds
Interested in applying for this grant?

Complete our application form to express your interest and we'll guide you through the process.

Apply for This Grant