Joinads: A Retargetable Control-Flow Construct for Reactive, Parallel and Concurrent Programming

Joinads: A Retargetable Control-Flow Construct for Reactive, Parallel and Concurrent Programming
复制标题

Joinads:用于反应式、并行和并发编程的可重定向控制流结构

DOI:
--
复制
发表时间:
2011
期刊:
International Symposium on Practical Aspects of Declarative Languages
影响因子:
--
通讯作者:
Don Syme
Don Syme
中科院分区:
--
文献类型:
--
作者:
T. Petříček;Don Syme

文献摘要

被引文献

相似文献

现代的挑战导致了一个广泛的编程模型的设计反应,并行和并发编程,但这些往往是难以编码的通用语言。我们提出了一个抽象类型的计算称为joinads与语法语言扩展,旨在使其更容易使用joinads在现代函数语言。 我们的扩展将模式匹配推广到抽象计算。它保持了模式匹配的熟悉语法和语义,使得对代码的推理变得容易,即使在非标准编程模型中也是如此。我们证明了我们的扩展使用三个重要的编程模型-基于事件的反应模型;基于连接演算的并发模型和使用期货的并行模型。所有这三个模型都是作为从我们的语法扩展中受益的库来实现的。这使得它们更容易使用,也为探索新的有用的编程模型开辟了空间。
Modern challenges led to a design of a wide range of programming models for reactive, parallel and concurrent programming, but these are often difficult to encode in general purpose languages. We present an abstract type of computations called joinads together with a syntactic language extension that aims to make it easier to use joinads in modern functional languages. Our extension generalizes pattern matching to work on abstract computations. It keeps a familiar syntax and semantics of pattern matching making it easy to reason about code, even in a non-standard programming model. We demonstrate our extension using three important programming models - a reactive model based on events; a concurrent model based on join calculus and a parallel model using futures. All three models are implemented as libraries that benefit from our syntactic extension. This makes them easier to use and also opens space for exploring new useful programming models.