共享抽象
围绕可复用的代数与算术 traits 构建,而不是堆叠彼此割裂的数值 API。
LunaFlow 希望把 MoonBit 推向一个能够承载严肃数学软件的语言平台:从轻量数值工具,到严格科学计算、符号处理,以及未来更偏证明导向的系统。 我们认为,一个数学生态不应该只是互不相干 API 的堆叠,而应该围绕精确抽象来组织:
有了这样的结构,同一个算法就可以在不同数学世界中复用。
LunaFlow 的使命,是为 MoonBit 提供一层基础性的数学互操作基础设施。
LunaFlow 不是一个封闭框架。现有库不应该为了加入生态而被迫完全重写。只要一个库能够暴露所需的数学能力,LunaFlow 就应该能把它接入更高层抽象,例如复数、线性代数以及未来的符号计算。
先抽象,后实现。 数学软件应从清晰的结构与定律出发。实现细节当然重要,但不应泄漏到生态的每一层。
小 trait,强组合。 LunaFlow 不定义一个臃肿的大一统数值接口,而是把代数结构与分析能力拆开。这让抽象更灵活,也避免把所有类型硬塞进不合适的模型。
语义必须显式。 浮点数、任意精度值、十进制值和区间式值都可能支持算术,但它们的数学含义并不相同。LunaFlow 的目标是保留这些差异,而不是用一个模糊接口把它们抹平。
互操作优先于孤岛。 MoonBit 的数学生态应该允许独立库协同工作。LunaFlow 提供的就是那套公共语言,让不同包能够进入同一个计算世界。
一个算法,多种数学世界。 一个设计良好的泛型算法,应该能够跨不同数值表示复用。LunaFlow 通过 trait 抽象和分层包设计,使这件事真正可行。
LunaFlow 的长期目标,是成为 MoonBit 高级数学计算的基础设施。
LunaFlow 仍在演进,但方向已经很清晰:把 MoonBit 的抽象能力真正转化为一个数学计算生态。
我们要构建的不只是一些数学包,而是一套面向未来科学计算的可组合基础。