Algebraic effects & handlers have become a standard approach for side-effects in functional programming. Their modular composition with other effects and clean separation of syntax and semantics make them attractive to a wide audience. However, not all effects can be classified as algebraic; some need a more sophisticated handling. In particular, effects that have or create a delimited scope need special care, as their continuation consists of two parts-in and out of the scope-and their modular composition introduces additional complexity. These effects are called scoped and have gained attention by their growing applicability and adoption in popular libraries. While calculi have been designed with algebraic effects & handlers built in to facilitate their use, a calculus that supports scoped effects & handlers in a similar manner does not yet exist. This work fills this gap: we present $\lambda_{\mathit{sc}}$, a calculus with native support for both algebraic and scoped effects & handlers. It addresses the need for polymorphic handlers and explicit clauses for forwarding unknown scoped operations to other handlers. Our calculus is based on Eff, an existing calculus for algebraic effects, extended with Koka-style row polymorphism, and consists of a formal grammar, operational semantics, a (type-safe) type-and-effect system and type inference. We demonstrate $\lambda_{\mathit{sc}}$ on a range of examples.


翻译:代数效应与处理子已成为函数式编程中处理副作用的标准方法。它们与其他效应的模块化组合,以及语法与语义的清晰分离,吸引了广泛受众。然而,并非所有效应都能归类为代数效应;部分效应需要更复杂的处理。特别是那些具有或创建了定界作用域的效应需要特殊关注,因为其续体包含作用域内与作用域外两个部分,且它们的模块化组合会引入额外复杂性。这类效应被称为作用域化效应,并因其在主流库中日益增长的适用性和采纳度而备受关注。尽管已有针对代数效应与处理子内置支持的演算设计用于促进其使用,但尚无类似方式支持作用域化效应与处理子的演算存在。本文填补了这一空白:我们提出了$\lambda_{\mathit{sc}}$,一个原生支持代数效应和作用域化效应与处理子的演算。它解决了多态处理子及显式子句转发未知作用域化操作至其他处理子的需求。我们的演算基于Eff(现有代数效应演算),扩展了Koka风格的行多态性,并包含形式化语法、操作语义、(类型安全的)类型与效应系统及类型推断。我们通过一系列示例展示了$\lambda_{\mathit{sc}}$的能力。

0
下载
关闭预览

相关内容

SC:International Conference for High Performance Computing, Networking, Storage, and Analysis。 Explanation:高性能计算、网络、存储和分析国际会议。 Publisher:IEEE。 SIT: http://dblp.uni-trier.de/db/conf/sc/
【硬核书】矩阵代数基础,248页pdf
专知会员服务
88+阅读 · 2021年12月9日
因果推断,Causal Inference:The Mixtape
专知会员服务
110+阅读 · 2021年8月27日
专知会员服务
26+阅读 · 2021年4月2日
专知会员服务
55+阅读 · 2020年9月7日
机器学习入门的经验与建议
专知会员服务
94+阅读 · 2019年10月10日
VCIP 2022 Call for Demos
CCF多媒体专委会
1+阅读 · 2022年6月6日
征稿 | International Joint Conference on Knowledge Graphs (IJCKG)
开放知识图谱
2+阅读 · 2022年5月20日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
18+阅读 · 2018年12月24日
【跟踪Tracking】15篇论文+代码 | 中秋快乐~
专知
18+阅读 · 2018年9月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
【论文】深度学习的数学解释
机器学习研究会
10+阅读 · 2017年12月15日
Capsule Networks解析
机器学习研究会
11+阅读 · 2017年11月12日
可解释的CNN
CreateAMind
18+阅读 · 2017年10月5日
【推荐】RNN/LSTM时序预测
机器学习研究会
25+阅读 · 2017年9月8日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
3+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2009年12月31日
国家自然科学基金
1+阅读 · 2008年12月31日
Arxiv
13+阅读 · 2019年11月14日
VIP会员
最新内容
深入Project Maven:为何人工智能在战场上依然失灵
专知会员服务
3+阅读 · 51分钟前
锻造未来士兵:外骨骼、基因工程与赛博格
专知会员服务
0+阅读 · 今天15:12
《无人机蜂群通信技术研究》50页
专知会员服务
4+阅读 · 今天14:55
战力倍增器:自主武器系统与乌克兰及加沙冲突
人工智能赋能战场情报:提速决策进程
专知会员服务
3+阅读 · 7月17日
《拥抱新兴技术:面向未来军官的教育革新》
专知会员服务
7+阅读 · 7月17日
相关VIP内容
【硬核书】矩阵代数基础,248页pdf
专知会员服务
88+阅读 · 2021年12月9日
因果推断,Causal Inference:The Mixtape
专知会员服务
110+阅读 · 2021年8月27日
专知会员服务
26+阅读 · 2021年4月2日
专知会员服务
55+阅读 · 2020年9月7日
机器学习入门的经验与建议
专知会员服务
94+阅读 · 2019年10月10日
相关资讯
VCIP 2022 Call for Demos
CCF多媒体专委会
1+阅读 · 2022年6月6日
征稿 | International Joint Conference on Knowledge Graphs (IJCKG)
开放知识图谱
2+阅读 · 2022年5月20日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
18+阅读 · 2018年12月24日
【跟踪Tracking】15篇论文+代码 | 中秋快乐~
专知
18+阅读 · 2018年9月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
【论文】深度学习的数学解释
机器学习研究会
10+阅读 · 2017年12月15日
Capsule Networks解析
机器学习研究会
11+阅读 · 2017年11月12日
可解释的CNN
CreateAMind
18+阅读 · 2017年10月5日
【推荐】RNN/LSTM时序预测
机器学习研究会
25+阅读 · 2017年9月8日
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
3+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2009年12月31日
国家自然科学基金
1+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员