发表机构
University of Calgary; Universidade Federal do Rio de Janeiro; Tallinn University of Technology, Estonia(卡尔加里大学; 里约热内卢联邦大学; 塔林科技大学)
机构由 AI 辅助整理,请以论文原文为准。AI 中文总结
本文提出基于线性 actegories 设计的函数式并发语言 CaMPL,赋予程序无死锁及无活锁性质,并通过示例展示其类型系统,编译器已用 Haskell 实现。
AI 中文摘要
我们提出了一种新颖的函数式风格并发编程语言,称为 Categorical Message Passing Language (CaMPL),其设计基于线性 actegories 的数学理论。这一数学基础赋予 CaMPL 程序有用的性质,例如无死锁,并且对于没有一般递归过程的程序,还具备无活锁的性质。我们通过一系列代码示例探讨了 CaMPL 的类型系统。当前编译器及抽象机器的 proto-alpha 版本已用 Haskell 实现。鼓励读者通过在线编译器(https://this https URL)或从该网站(https://this https URL)安装 CaMPL 来尝试编写 CaMPL 程序——我们的网站提供了运行 CaMPL 代码的详细说明。
英文摘要
We introduce a novel functional-style concurrent programming language called Categorical Message Passing Language (CaMPL) which is designed using the mathematics of linear actegories. This mathematical underpinning gives CaMPL programs useful properties such as deadlock freedom, and additionally, livelock freedom for programs without general recursive processes. We explore CaMPL's type system through a series of code examples. The current proto-alpha version of the compiler and the abstract machine is implemented in Haskell. A reader is encouraged to experiment with writing CaMPL programs either using the online compiler https://campl-app.vercel.app/ or by installing CaMPL from https://campl-ucalgary.github.io -- our website has detailed instructions on how to run CaMPL code.
Comments54 pages