Papers for

concurrent software developers

Papers whose findings have a practical use for this group, as judged from the abstract. Open a paper to read what it means in practice.

Categorical message passing language ensures deadlock and livelock freedom

Categorical Message Passing Language (CaMPL): Syntax and Semantics

Abstract: 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.

Mon 21 SeptProgramming LanguagesDistributed, Parallel, and Cluster ComputingLogic in Computer Science
The gist
Concurrent programs often face problems like deadlocks, where processes get stuck waiting for each other, and livelocks, where they keep running without making progress. The authors introduce CaMPL, a new programming language designed using advanced mathematics called linear actegories, to avoid these issues. CaMPL guarantees that certain kinds of programs will never deadlock or livelock. The language’s type system helps ensure these properties, and it has a working prototype implemented in Haskell that people can try online.
Open 2609.24436v1