Doo bee doo bee doo

Doo bee doo bee doo
复制标题

嘟比嘟比嘟

DOI:
10.1017/s0956796820000039
复制
发表时间:
2020
影响因子:
1.1
通讯作者:
CONVENT L
CONVENT L
中科院分区:
计算机科学2区
文献类型:
--
作者:
CONVENT L

文献摘要

参考文献

被引文献

相似文献

我们探讨的设计和实施的弗兰克,一个严格的函数式编程语言,双向效果类型系统设计从地面上围绕一个新的变种Plotkin和Pretnar的效果处理程序抽象。效果处理程序为模块化有效编程提供了一个抽象:处理程序充当命令集合的解释器,这些命令的接口由类型系统静态跟踪。然而,Frank通过概括函数抽象本身的基本机制,消除了对额外效果处理构造的需要。函数只是不解释任何命令的Frank运算符的特例。此外,Frank的操作符可以是多处理程序,可以同时解释来自多个源的命令,而不会干扰函数式编程的直接风格。Frank中的效应类型采用了一种新颖的效应多态形式,避免了在源代码中提及效应变量。这是通过向内传播环境异能来实现的,而不是向外累积潜在效果的联合。由于环境能力描述了代码中某个点上可用的效果,因此可能需要重新配置对环境能力的访问。一个主要目标是能够封装内部效果,消除我们称之为效果污染的现象。此外,有时需要在有效的库组件之间重新连接效果流。我们建议适配器作为一种手段,同时支持效果封装和更一般的重新布线。使用效果和处理程序进行编程还处于起步阶段。我们对未来的可能性进行了探索,特别是与其他形式的富类型系统相结合。
We explore the design and implementation of Frank, a strict functional programming language with a bidirectional effect type system designed from the ground up around a novel variant of Plotkin and Pretnar’s effect handler abstraction. Effect handlers provide an abstraction for modular effectful programming: a handler acts as an interpreter for a collection of commands whose interfaces are statically tracked by the type system. However, Frank eliminates the need for an additional effect handling construct by generalising the basic mechanism of functional abstraction itself. A function is but the special case of a Frank operator that interprets no commands. Moreover, Frank’s operators can be multihandlers which simultaneously interpret commands from several sources at once, without disturbing the direct style of functional programming with values. Effect typing in Frank employs a novel form of effect polymorphism which avoids mentioning effect variables in source code. This is achieved by propagating an ambient ability inwards, rather than accumulating unions of potential effects outwards. With the ambient ability describing the effects that are available at a certain point in the code, it can become necessary to reconfigure access to the ambient ability. A primary goal is to be able to encapsulate internal effects, eliminating a phenomenon we call effect pollution. Moreover, it is sometimes desirable to rewire the effect flow between effectful library components. We propose adaptors as a means for supporting both effect encapsulation and more general rewiring. Programming with effects and handlers is in its infancy. We contribute an exploration of future possibilities, particularly in combination with other forms of rich type systems.
类型推断、Haskell 和依赖类型
DOI: --
发表时间: 2013
期刊:
影响因子: --
作者:
Adam Gundry
通讯作者: Adam Gundry
具有共同模式的有根据的递归:终止和生产力的统一方法
DOI: --
发表时间: 2013
期刊: ACM SIGPLAN International Conference on Functional Programming
影响因子: --
作者:
Andreas Abel;B. Pientka
通讯作者: B. Pientka
DOI: --
发表时间: 2001
期刊: Mathematical Foundations of Programming Semantics
影响因子: --
作者:
G. Plotkin;J. Power
通讯作者: J. Power
效果处理程序和分隔控制的类型等效
DOI: 10.4230/lipics.fscd.2019.30
发表时间: 2019
期刊: Proceedings of the 2018 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software
影响因子: --
作者:
Maciej Piróg;Piotr Polesiuk;Filip Sieczkowski
通讯作者: Filip Sieczkowski
定义的代数运算
DOI: --
发表时间: 2020
期刊:
影响因子: --
作者:
Bram Geron
通讯作者: Bram Geron