仓库约定
除 Luna Flow 文档规范外,arithmetic 手册还遵循以下规则。
基线与历史
本手册描述当前分支上的代码:即 0.5.0 版本加上 CHANGELOG.md 中 Unreleased 下列出的改动。发布时间线由 CHANGELOG.md 维护,因此概览和仓库 README 只描述当前基线。
页面
- 位于
src/的唯一包在文档中称为core:api/core.md、tutorial/core.md和design/core.md。 - 区分 trait 的承诺与随包实例的实际行为。当某个实例做得比 trait 允许的少(例如忽略上下文)时,应在 API 页描述该 trait 的位置予以说明。
- 为每个随包提供的实例说明特殊值(NaN、有符号零、无穷、上溢)的语义;泛型代码的使用者依赖这些语义。
- 代码未实现的数学内容只能作为 trait 的契约出现,或作为明确标注的示意说明出现。
示例
Luna-Flow/arithmetic使用别名@lf_arith,Luna-Flow/luna-generic使用别名@lf_alg;通过 trait 调用 trait 方法(@lf_arith.Sqrt::sqrt(x))。- 所有未标记
nocheck的moonbit代码块都必须能够编译并作为测试通过,详见验证。用inspect或debug_inspect展示结果。 - 使用简短、直接的技术表述,避免发布宣传式文案。
翻译
- 不翻译标识符、类型名、trait 名、包名、路径、命令和版本号。
- 中文应使用自然的书面技术表达,日文应使用自然的技术文体,避免逐词硬译。