"时空可组合性"是 Cordis 全部设计的理论骨架,相关理念由北京大学与 DeepSeek-AI 联合署名的论文《A Programming Paradigm for Spatiotemporal Composability》系统阐述。该论文于 2026 年 8 月 13 日以预印本形式发布,截至本文撰写时仍在持续修订,尚未取得 DOI 或完成同行评审。它将"动态组合"拆解为两个正交维度,分别回答两个不同的问题。
时间维度关注的是:一个组件被卸载后,它产生的所有副作用能否被完整逆转。这里的副作用包括事件监听、定时器、文件句柄、内存分配、注册的命令等。Cordis 要求每次副作用注册时都同时交出一个对应的"清理函数"(disposer),运行时将其存入栈中,在插件卸载时按注册的逆序逐一执行,使系统内部状态恢复到"这个插件从未存在过"的状态。需要说明的是,这一保证主要适用于系统可独占控制、可还原的内部状态;已经发送的网络消息、已被外部系统读取的数据等不可逆操作,不在自动恢复范围内,需借助延迟提交或补偿操作另行处理。这一机制保证了插件可以安全地随时装卸,而不会在长驻进程中留下内存泄漏或僵尸监听器。
空间维度关注的是:组件之间存在依赖关系时,某个依赖出现、消失或改变时,其他组件如何被自动通知。Cordis 采用声明式依赖加反应式响应的方式——插件不"接收注入",而是"声明需求",运行时保证依赖就绪后才启动、依赖消失时先于提供方卸载、提供方改变时只重启真正受影响的插件。两个维度合起来产出一个工程性质:系统的最终状态只取决于"当前启用了哪些插件",与这些插件以什么顺序、经历几轮装卸到达该状态无关,这被称为路径无关性,也是热重载在数学上安全的前提。