共有抽象
孤立した数値 API ではなく、再利用可能な代数・算術 traits を中心に構築します。
LunaFlow は、MoonBit を本格的な数学ソフトウェアを支えられる言語へ育てることを目指しています。軽量な数値ユーティリティから、厳密な科学計算、記号操作、そして将来的な証明志向システムまでを視野に入れています。 私たちは、数学エコシステムは無関係な API の寄せ集めであってはならず、正確な抽象を中心に構成されるべきだと考えています。
このアーキテクチャがあれば、1 つのアルゴリズムを異なる数学的世界で再利用できます。
LunaFlow の使命は、MoonBit のための基礎的な数学相互運用レイヤーを提供することです。
LunaFlow は閉じたフレームワークとして設計されていません。既存ライブラリは、参加するためにゼロから書き直す必要はありません。必要な数学能力を公開できるなら、LunaFlow はそれを複素数、線形代数、将来の記号計算といった高レベル抽象へ統合できるべきです。
実装より先に抽象。 数学ソフトウェアは、明確な構造と法則から始まるべきです。実装詳細は重要ですが、エコシステムの全層に漏れ出すべきではありません。
小さな trait と強い合成。 LunaFlow は巨大な数値インターフェースを定義する代わりに、代数構造と解析能力を分離します。これにより抽象が柔軟になり、あらゆる型を不適切なモデルへ押し込むことを避けられます。
意味論は明示的でなければならない。 浮動小数点、任意精度値、十進値、区間的な値は、すべて算術を持ち得ますが意味は同じではありません。LunaFlow は、その差を曖昧な単一インターフェースで隠すのではなく、保ったまま扱います。
孤立より相互運用。 MoonBit の数学エコシステムは、独立したライブラリ同士が協調できるべきです。LunaFlow は、そのための共通言語を提供します。
1 つのアルゴリズム、多くの数学的世界。 よく設計された汎用アルゴリズムは、異なる数値表現をまたいで再利用できるべきです。LunaFlow は trait ベースの抽象と慎重な層構造によってそれを可能にします。
LunaFlow の長期目標は、MoonBit における高度な数学計算の基盤になることです。
LunaFlow はまだ進化の途中ですが、方向は明確です。MoonBit の抽象能力を、本物の数学エコシステムへ育てることです。
私たちが作ろうとしているのは単なる数学パッケージ群ではなく、将来の科学計算に向けた可組合せの基盤です。