arXiv論文メモ
新着一覧
cs.PL / cs.DC / cs.LO · 査読状況未確認

デッドロックを防ぐ並行言語CaMPLの構文と意味

Categorical Message Passing Language (CaMPL): Syntax and Semantics

Robin Cockett and Daniel Kiyoshi Hashimoto and Alexanna Little Berg and Priyaa Varshinee Srinivasan

この論文をやさしく読む

ひとことで言うと

複数の処理がメッセージをやり取りするプログラムを、数学的な仕組みに基づいて安全に記述する言語の提案です。

何に役立つ?

処理同士が互いに待ち続けて止まるデッドロックを防ぐ言語設計を学ぶのに役立ちます。試作コンパイラーで言語を試せることも案内されています。

この研究の面白いところ

並行実行の性質を後から検査するだけでなく、言語を支える数学と型システムに組み込んでいます。デッドロックと、動き続けても進展しないライブロックを区別しています。

どこまで分かった?

ライブロックがないという性質には、一般的な再帰プロセスを含まないという条件があります。実装は初期試作段階で、要旨には実行性能や大規模運用の評価はありません。

v1のアブストラクトに基づくAI解説。日本語訳とは別に、用途の解釈を含みます。

アブストラクトの日本語訳

線形作用圏(linear actegories)の数学を用いて設計された、新しい関数型スタイルの並行プログラミング言語Categorical Message Passing Language(CaMPL)を導入する。この数学的基盤により、CaMPLのプログラムはデッドロックが起きないといった有用な性質を持つ。さらに、一般的な再帰プロセスを含まないプログラムでは、ライブロックも起きない。 一連のコード例を通じてCaMPLの型システムを検討する。現在の初期試作段階にあるコンパイラーと抽象機械はHaskellで実装されている。読者はオンラインコンパイラー https://campl-app.vercel.app/ を使うか、https://campl-ucalgary.github.io からCaMPLをインストールして、プログラムを書くことを試せる。ウェブサイトにはCaMPLのコードの実行方法が詳しく記載されている。

v1の要旨から自動生成。本文の精読・人による確認は未実施。

初稿
2026-09-21(UTC)
最新改訂
2026-09-21 · v1
査読・掲載
査読状況未確認
arXivで読むPDF

更新履歴

取得できた版を表示。版の更新は査読済みを意味しません。過去版の本文差分は未解析です。

原文の要旨

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.

著者のコメント

54 pages

arXiv ID: 2609.24436 / 要約の誤りについて