1
15 分钟
Docs 0.94.0-alpha.1 (Draft)

RCL 为什么存在

学习目标:说明 RCL 与通用编程语言解决的问题不同。

现实变化
候选现实
提交条件

一个真实场景

一段脚本可以把某个文件里的数字从 100 改成 0。这在计算意义上完全成功。 但在现实意义上,我们真正关心的是另一组问题:

  • 这个数字代表什么对象?
  • 谁有权把它改成 0?
  • 改动是否可逆?
  • 有没有证据证明改动被批准过?
  • 如果执行失败,现实处于哪种状态?

通用编程语言主要描述计算机怎样执行计算。这些问题它不负责回答。

RCL 的定位

RCL(Reality Compiler Language,现实编译语言)进一步描述:

一个现实状态变化涉及什么对象、主体、约束、权限、证据、风险、执行者和提交条件。

明确的能力边界

RCL 不会自己改变外部世界。它不发邮件、不改数据库、不部署服务。 所有外部效果都必须交给声明过的 Provider 执行,RCL 负责的是这次变化有没有资格被提交

把 RCL 当作"一句话改变现实"的魔法语言,是对它最常见的误解。

理解检查

以下哪一项最准确地描述 RCL 的职责?

下一课