Categorical Message Passing Language (CaMPL) for programmers

📅 2026-05-10
📈 Citations: 0
Influential: 0
📄 PDF

career value

159K/year
🤖 AI Summary
This work proposes a functional concurrent programming language based on linear actegories from category theory to address deadlock and livelock in concurrent programs. The language employs typed channels for message passing between processes and, leveraging the Curry–Howard–Lambek correspondence, is the first to apply the semantics of linear actegories to concurrent programming, guaranteeing deadlock- and livelock-freedom for non-recursive programs. Its key contributions include support for controlled nondeterminism, higher-order processes, user-defined channel types, and infinite channel structures such as protocols and coprotocols. These features enable expressive modeling of dynamic concurrent behaviors while preserving strong type safety.
📝 Abstract
Categorical Message Passing Language (CaMPL) is a functional-style concurrent programming language whose semantics is in category theory, more specifically, linear actegories. Its core programming feature is message passing along typed communication channels between concurrent processes. CaMPL also supports controlled non-determinism via 'races' which allow processes to adapt dynamically while they are running, higher-order processes which pass other processes as messages, and custom channel datatypes called protocols and coprotocols which allow one to define infinite channel types or implement session types. The type system of CaMPL arises from a Curry-Howard-Lambek-like correspondence for concurrent programming, established by Cockett and Pastro in their paper titled "The logic of message passing". This type system ensures that a formal CaMPL program, i.e., one which does not allow general recursion, will never become deadlocked or livelocked. In this article, we explore the type system of CaMPL, custom channel types, and controlled non-determinism using code examples after briefly introducing its mathematical underpinnings.
Problem

Research questions and friction points this paper is trying to address.

concurrent programming
message passing
type system
deadlock freedom
category theory
Innovation

Methods, ideas, or system contributions that make the work stand out.

CaMPL
linear actegories
message passing
session types
controlled non-determinism
🔎 Similar Papers
No similar papers found.