Effects as capabilities: effect handlers and lightweight effect polymorphism

Effects as capabilities: effect handlers and lightweight effect polymorphism
复制标题

效果作为功能:效果处理程序和轻量级效果多态性

DOI:
10.1145/3428194
复制
发表时间:
2020
影响因子:
--
通讯作者:
K. Ostermann
K. Ostermann
中科院分区:
--
文献类型:
--
作者:
J. Brachthäuser;Philipp Schuster;K. Ostermann

文献摘要

参考文献

被引文献

相似文献

效果处理程序最近在编程语言研究人员中流行起来。用于效果处理器的现有类型和效果系统通常是复杂的,并且潜在地阻碍了广泛的采用。我们提出的语言Effekt的目标是缩小研究语言与效果处理程序和工作程序员语言之间的差距。Effekt的设计围绕着效果和效果类型的不同观点。传统上,效应类型表示计算可能具有的副作用。在Effekt中,效果类型表示计算需要从其上下文获得哪些能力。虽然这一新的点在设计空间的影响系统阻碍推理的纯度,我们证明,它简化了治疗效果的多态性和相关问题的效果参数和效果封装。为了保证效果的安全性,我们将函数与值分开,并将所有函数都视为二等函数。我们将Effekt的语义定义为系统Xi的翻译,这是一种显式能力传递风格的演算。
Effect handlers have recently gained popularity amongst programming language researchers. Existing type- and effect systems for effect handlers are often complicated and potentially hinder a wide-spread adoption. We present the language Effekt with the goal to close the gap between research languages with effect handlers and languages for working programmers. The design of Effekt revolves around a different view of effects and effect types. Traditionally, effect types express which side effects a computation might have. In Effekt, effect types express which capabilities a computation requires from its context. While this new point in the design space of effect systems impedes reasoning about purity, we demonstrate that it simplifies the treatment of effect polymorphism and the related issues of effect parametricity and effect encapsulation. To guarantee effect safety, we separate functions from values and treat all functions as second-class. We define the semantics of Effekt as a translation to System Xi, a calculus in explicit capability-passing style.
在模式中键入变量
DOI: 10.1145/3242744.3242753
发表时间: 2018
期刊: Haskell Symposium
影响因子: --
作者:
Eisenberg, Richard A.;Breitner, Joachim;Peyton Jones, Simon
通讯作者: Peyton Jones, Simon
处理程序在行动
DOI: 10.1145/2500365.2500590
发表时间: 2013
期刊: --
影响因子: --
作者:
Kammar O
通讯作者: Kammar O
嘟比嘟比嘟
DOI: 10.1017/s0956796820000039
发表时间: 2020
影响因子: 1.1
作者:
CONVENT L
通讯作者: CONVENT L
大众效果处理程序
DOI: 10.1145/3276481
发表时间: 2018
影响因子: --
作者:
Jonathan Immanuel Brachthäuser;Philipp Schuster;Klaus Ostermann
通讯作者: Klaus Ostermann
Effect:Scala 中类型和效果安全、可扩展效果处理程序的功能传递样式
DOI: 10.1017/s0956796820000027
发表时间: 2020
影响因子: 1.1
作者:
Jonathan Immanuel Brachthäuser;Philipp Schuster;Klaus Ostermann
通讯作者: Klaus Ostermann