一种时空可组合性的编程范式
阅读论文(PDF) · 2026年8月13日草稿
本文为正在积极修订的预印本。内容可能发生重大变化;请引用最新版本,并在依赖具体结果前返回查看。
现代软件——从插件系统到自进化智能体框架——日益需要_动态组合_,然而其形式化基础仍然发展不足。我们识别出该问题的两个正交维度:时间可组合性,即在移除组件时完全回滚其副作用的能力;以及_空间可组合性_,即声明并响应式管理组件间依赖的能力。
我们通过将经典效应与余效应概念提升为运行时机制来处理这两个维度。具体而言,我们形式化了_可逆效应_,其中每次上下文变换都带有运行时追踪的逆变换。我们形式化了_反应式余效应_,其中上下文的每次变化都会根据组件的余效应规范通知该组件。我们将效应上下文与余效应上下文统一为单一的_上下文类型_,这构成了一种编程范式。
之后,我们将这些机制组合为_组件_的概念,并给出动态组合的演算,其元理论将时空可组合性从单个组件推广到由交错组件构成的整个系统。
我们在_Cordis_中实现了这些思想,这是一个时空可组合性的元框架,提供带有效应追踪与余效应解析的核心库,以及带有配置协调与热模块替换的声明式组件加载器。