Effect Handler Oriented Programming

面向效果处理程序的编程

基本信息

  • 批准号:
    MR/T043830/1
  • 负责人:
  • 金额:
    $ 147.78万
  • 依托单位:
  • 依托单位国家:
    英国
  • 项目类别:
    Fellowship
  • 财政年份:
    2021
  • 资助国家:
    英国
  • 起止时间:
    2021 至 无数据
  • 项目状态:
    未结题

项目摘要

In an economy in which the UK software industry added £139 billion ofvalue to UK GDP in 2018 alone, this fellowship will transform the waydevelopers write software. By offering a radically new way ofcomposing and customising programs, I will empower software developersto build more flexible, maintainable, and robust software.Computers must interact with the real world. In computer programs realworld effects are pervasive, e.g.: concurrency (performing twocomputations at once), distribution (performing computation indifferent places), input, output, and probability (e.g. for machinelearning).Effect handlers are a general programming feature that can be used toimplement all of these effects. They were introduced by theoreticalcomputer scientists as part of a mathematical model of effects. Thanksin part to my efforts they now show promise as a practical programmingtool. Interest in effect handlers in industry is growing. Forinstance, Facebook's React Fiber, the core of the market-leading Reactuser interface library for web applications, is directly inspired byeffect handlers, and Uber's Pyro tool for probabilistic programmingand statistical inference makes essential use of effect handlers.Preliminary results suggest effect handlers have the potential tosupport efficient implementations. Nevertheless, existingimplementations are in their infancy and research is required to makethem scale, both in terms of ease of programming and in terms ofperformance. I will develop the theory and practice of Effect HandlerOriented Programming as a uniform foundation for modular and efficientimplementation of effects. I will develop both high-level (for humans)and low-level (for machines) effect handler designs andimplementations. In collaboration with my project partners I willensure that EHOP has direct impact through two key technologies.+ Hack. I will add effect handlers to Hack, the high-level programminglanguage in which the Facebook server is written. Hack currentlyprovides ad hoc support for features such as concurrency andprobabilistic programming, which I will replace by effect handlers,eliminating the need to maintain several ad hoc features, andintroducing fine-grained control over details such as schedulingstrategies. This will allow more flexible, maintainable, and robustsoftware to be written in Hack, ultimately improving the userexperience of billions of Facebook users.+ WebAssembly. I will design and implement an effect handler extensionfor WebAssembly, a portable low-level bytecode supported by the topfour browser vendors and designed to supersede JavaScript as thetarget language for the web. Currently, languages such as JavaScriptprovide a collection of ad hoc overlapping concurrency features. Eachof these is hard-wired and has to be maintained separately. However,all of them can be implemented with minimal effort using effecthandlers. Rather than hard-wiring and maintaining several ad hocfeatures, compiler developers will be able to rely on a singleimplementation of effect handlers in WebAssembly. This will enablemore flexible, maintainable, and reliable programming languageimplementations, ultimately improving the user experience of billionsof web users.A "killer app" for effect handlers is concurrency and distribution. Acentral aspect of concurrency and distribution is communication. Forcommunication to be safe, secure, and reliable, all parties mustcomply with appropriate protocols. Session types are a nascenttechnology for enforcing protocol compliance. Unifying the two mainthreads of my research over the last half decade, I will extend thetheory and practice of effect handlers to enable session-typedconcurrency and distribution features to be defined as effecthandlers. Ultimately, this will enable safe, secure, and reliablecommunication infrastructure for billions of end users.
在英国软件行业仅在2018年就为英国GDP增加了1390亿英镑的经济中,这项奖学金将改变开发人员编写软件的方式。通过提供一种全新的编写和定制程序的方法,我将使软件开发人员能够构建更灵活、更易维护和更健壮的软件。计算机必须与真实的世界交互。在计算机程序中,现实世界的影响是普遍存在的,例如:并发(同时执行两个计算),分布(在不同的地方执行计算),输入,输出和概率(例如机器学习)。效果处理程序是一个通用的编程特性,可以用来实现所有这些效果。它们是由理论计算机科学家作为效应数学模型的一部分引入的。部分归功于我的努力,它们现在显示出作为一种实用编程工具的希望。工业界对效果处理器的兴趣正在增长。例如,Facebook的React Fiber是市场领先的Web应用程序React用户界面库的核心,它直接受到了效果处理程序的启发,而Uber的概率编程和统计推理工具Pyro也基本上使用了效果处理程序。初步结果表明,效果处理程序有可能支持高效的实现。尽管如此,现有的实现还处于起步阶段,需要进行研究以使其在编程方便性和性能方面都具有规模。我将发展面向效果处理程序的编程的理论和实践,作为模块化和有效实现效果的统一基础。我将开发高级(人类)和低级(机器)效果处理程序的设计和实现。通过与我的项目合作伙伴的合作,我将确保EHOP通过两项关键技术产生直接影响。破解.我将为Hack添加效果处理程序,Hack是编写Facebook服务器的高级编程语言。Hack目前为并发性和概率编程等功能提供临时支持,我将用效果处理程序取代这些功能,从而无需维护多个临时功能,并引入对调度策略等细节的细粒度控制。这将允许用Hack编写更灵活、更易维护和更健壮的软件,最终改善数十亿Facebook用户的使用体验。WebAssembly。我将为WebAssembly设计和实现一个效果处理程序扩展,WebAssembly是一个由四大浏览器供应商支持的可移植的低级字节码,旨在取代JavaScript作为Web的目标语言。目前,诸如JavaScript之类的语言提供了一系列特定的重叠并发特性。每一个都是硬连线的,必须单独维护。但是,所有这些都可以使用effecthandlers以最小的努力实现。而不是硬连线和维护几个广告功能,编译器开发人员将能够依赖于WebAssembly中的效果处理程序的单一实现。这将使编程语言实现更加灵活、可维护和可靠,最终改善数十亿Web用户的用户体验。效果处理程序的“杀手级应用程序”是并发和分发。并发和分布的一个核心方面是通信。为了使通信安全、可靠和可靠,所有各方都必须遵守适当的协议。会话类型是一种强制执行协议遵从性的新兴技术。在过去的五年里,我将统一我的研究的两个主线,扩展效果处理程序的理论和实践,使会话类型的并发和分布特性被定义为效果处理程序。最终,这将为数十亿最终用户提供安全、可靠的通信基础设施。

项目成果

期刊论文数量(10)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
Composing UNIX with Effect Handlers: A Case Study in Effect Handler Oriented Programming
用效果处理程序组成 UNIX:面向效果处理程序编程的案例研究
  • DOI:
  • 发表时间:
    2021
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Daniel Hillerström
  • 通讯作者:
    Daniel Hillerström
Structural Subtyping as Parametric Polymorphism
作为参数多态性的结构子类型
A Typed Slicing Compilation of the Polymorphic RPC calculus
多态 RPC 演算的类型化切片编译
  • DOI:
    10.1145/3479394.3479406
  • 发表时间:
    2021
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Choi K
  • 通讯作者:
    Choi K
Handler calculus
处理程序演算
  • DOI:
  • 发表时间:
    2021
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Sam Lindley
  • 通讯作者:
    Sam Lindley
Soundly Handling Linearity
妥善处理线性
{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

数据更新时间:{{ journalArticles.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ monograph.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ sciAawards.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ conferencePapers.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ patent.updateTime }}

Samuel Lindley其他文献

Samuel Lindley的其他文献

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

相似海外基金

Mobile Rail Panel Handler (MoRPH)
移动式轨道面板搬运机 (MoRPH)
  • 批准号:
    10063322
  • 财政年份:
    2023
  • 资助金额:
    $ 147.78万
  • 项目类别:
    Collaborative R&D
Implementation of a liquid handler that can increase capacity of SARS-CoV-2 sequencing in animals with COVID-19.
实施液体处理程序,可以提高对感染 COVID-19 的动物进行 SARS-CoV-2 测序的能力。
  • 批准号:
    10827694
  • 财政年份:
    2023
  • 资助金额:
    $ 147.78万
  • 项目类别:
Automated Liquid Handler
自动化液体处理机
  • 批准号:
    10424767
  • 财政年份:
    2022
  • 资助金额:
    $ 147.78万
  • 项目类别:
A Dual-Arm Wafer Robot Handler for Precision Mechatronics and MEMS Characterizations
用于精密机电一体化和 MEMS 表征的双臂晶圆机器人处理机
  • 批准号:
    RTI-2023-00186
  • 财政年份:
    2022
  • 资助金额:
    $ 147.78万
  • 项目类别:
    Research Tools and Instruments
Purchase of an Echo 650 acoustic liquid handler with Access workstation
购买带有 Access 工作站的 Echo 650 声学液体处理机
  • 批准号:
    10176267
  • 财政年份:
    2021
  • 资助金额:
    $ 147.78万
  • 项目类别:
Vet-LIRN Network Capacity-Buildinng Projects - Implementation of automated liquid handler for high throughput MALDI-TOF and PCR testing
Vet-LIRN 网络能力建设项目 - 实施自动化液体处理机以进行高通量 MALDI-TOF 和 PCR 测试
  • 批准号:
    10215140
  • 财政年份:
    2020
  • 资助金额:
    $ 147.78万
  • 项目类别:
A multi-channel liquid handler for the Bristol Genomics facility
布里斯托尔基因组学设施的多通道液体处理器
  • 批准号:
    BB/S019219/1
  • 财政年份:
    2019
  • 资助金额:
    $ 147.78万
  • 项目类别:
    Research Grant
AI Claims Handler
人工智能理赔处理程序
  • 批准号:
    35115
  • 财政年份:
    2019
  • 资助金额:
    $ 147.78万
  • 项目类别:
    Collaborative R&D
Hochgenaue Plasmaätzanlage (DRIE) mit Handler und Kassettenladestation
高精度等离子蚀刻系统 (DRIE),配有处理器和盒式装载站
  • 批准号:
    290458864
  • 财政年份:
    2016
  • 资助金额:
    $ 147.78万
  • 项目类别:
    Major Research Instrumentation
ShEEP Request for Real Time PCR Quant Studio 12K Flex and Tecan Liquid Handler for Illumina HiScan
ShEEP 请求为 Illumina HiScan 提供实时 PCR Quant Studio 12K Flex 和 Tecan 液体处理机
  • 批准号:
    9211714
  • 财政年份:
    2016
  • 资助金额:
    $ 147.78万
  • 项目类别:
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了