Doo bee doo bee doo
Doo bee doo bee doo
复制标题
嘟比嘟比嘟
DOI:
10.1017/s0956796820000039
复制
发表时间:
2020
影响因子:
1.1
通讯作者:
CONVENT L
中科院分区:
文献类型:
--
作者:
CONVENT L
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.
登录
查看更多内容
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