Skip to content

core 设计

设计目标

arithmetic 让 LunaFlow 从“代数结构”继续扩展到“解析能力”,同时保留 后端差异和语义边界,不伪造一个统一的“实数接口”。

核心设计决策

  • 解析能力拆成很多小 trait,而不是一个巨大的单体接口。
  • unchecked 与 checked 两条表面并存,让调用方自己选择直接后端语义还是 显式上下文验证。
  • checked 层通过 ArithmeticContextArithmeticError 提供统一错误模型。
  • enclosure 风格关系与标量比较分离,避免语义造假。
  • 整数族实现刻意保持狭窄,只暴露在该类型上仍然闭合的能力。

边界

  • 本包不定义向量、矩阵、复数或符号对象。
  • 它不会把 branch cut 或特殊值语义压平到一个模糊抽象里。