paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Programming Backpropagation with Reverse Handlers for Arrows

用逆向处理器为 Arrow 编程反向传播
ICFP 10(ICFP)2026匹配度 3/10 · 论文处于 PL 与 ML 的交叉地带(可微编程、反向传播的范畴语义与处理器机制),与画像中“兼具理论形式化和工程实现”的偏好形式上有重合;但它研究的是神经网络语言的语义设计与实现,既不涉及对 ML 系统/Agentic 程序的静态分析,也不涉及 LLM/Agent 改进静态分析或验证,与浮点程序分析、贝叶斯程序分析亦无直接关联。引用 0 inbox
Takahiro Sanada, Keisuke Hoshino, Kenshin Hirai, Shin-ya Katsumata
crossref: 2026-09-10

AI 速览

一句话:提出 Arrow 的逆向处理器与范畴语义,使神经网络可符号化构造并通过处理器实现反向传播。

本文在 Arrow 的代数效应与处理器框架内设计并实现神经网络,提出一种新语言及其范畴语义。网络可像代数效应一样被符号化构造,反向传播等具体实现则通过处理器灵活指派,从而让网络描述保持抽象、高层。作者建立了类型系统、操作语义与范畴语义,并证明可靠性与完备性(soundness and adequacy)。技术核心是面向 Arrow 的逆向处理器(reverse handlers),以及反向微分限制范畴(RDRC)上强 promonads 的新代数;其弦图为神经网络提供形式化图形语法与语义。

问题
如何让神经网络的符号化高层描述与反向传播等底层可微实现解耦并灵活指派?
方法
引入 Arrow 的处理器机制,提出逆向处理器,并在 RDRC 上的强 promonads 代数中建立类型系统、操作语义和范畴语义。
评估
以可靠性与完备性定理验证语言语义与范畴模型的一致性,并用弦图给出神经网络的图形语法与语义。
原文摘要(Abstract)

We introduce a new programming language and its categorical semantics in order to design and implement neural networks within the framework of algebraic effects and handlers for arrows. Our language enables us to construct neural networks symbolically, in the same manner as algebraic effects, and to assign implementations—such as backpropagation computations—to them via handlers. The advantage of this language design is that network descriptions become abstract and high-level, while implementations can be flexibly assigned to networks. We establish a rigorous foundation for our language by developing a type system, an operational semantics, a categorical semantics, and soundness and adequacy theorems. The technical core is the introduction of reverse handlers , a novel handler mechanism for arrows for implementing backpropagation, together with new algebras of strong promonads on reverse differential restriction categories (RDRCs), whose string diagrams provide a formal graphical syntax and semantics for neural networks.

链接与引用

DOI 原文 · arXiv · PDF(开放获取) · DBLP

BibTeX
@article{abs-2602-18090,
  title = {Programming Backpropagation with Reverse Handlers for Arrows},
  author = {Takahiro Sanada and Keisuke Hoshino and Kenshin Hirai and Shin-ya Katsumata},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {10},
  number = {ICFP},
  year = {2026},
  doi = {10.1145/3828704}
}