仓库约定

除 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 名、包名、路径、命令和版本号。
  • 中文应使用自然的书面技术表达,日文应使用自然的技术文体,避免逐词硬译。