このプロジェクトについて
LAMINARIA(Rust Nim Unified Toolchain)は、RustおよびNimを対象とした統一された計算モデルとツールチェーンを探求する研究開発プロジェクトである。Cargo、rustc、Nimble、Nim、LLVM、LTO、リンカー、WebAssemblyツールを、外側のビルドスクリプトで接着された黒魔術的なコマンドとして扱うのではなく、ソースから実行ファイルまでの経路を明示的なアクショングラフに分解する。
Source Graph → Compiler Pipeline → Unified Program Graph → Variant / Artifact Graph → Backend Pipeline Graph → Action Graph → Nim Planning Kernel → Rust Runtime Scheduler
このプロジェクトは、HIR、MIR、単一化(monomorphization)、codegenユニット、rustc_codegen_ssa、LLVM、Cranelift、GCCバックエンド、LTO、オブジェクト生成・リンクといったRustコンパイラの各段階を、Nimフロントエンド、セマンティック処理、バックエンドコード生成、ネイティブコンパイル・リンクと共に調査する。LLVMは固定の基盤ではなく選択肢の一つのコード生成ルータとして扱い、WebAssemblyはバックエンド値ではなく目标パイプライン(コード生成、wasm-ld、ポストリンク最適化、WIT/アダプター、コンポーネント化)としてモデル化する。
コンパイラバージョンは第一級のグラフ次元として扱われる。設計は複数の正確なRustツールチェーンとNim 2、Nim 3/Nimonyをサポートし、パッケージおよびワークスペース制約を選択されたツールチェーンへ解決しつつ、実行・アクション・アーティファクト・キャッシュ・互換性判断において生成側コンパイラのIDを保持する。内部のVariant空間が広大になるため、推奨・最新検証済み・長期維持・プレビューなどの実証済みツールチェーンプロフィール(Validated Toolchain Profiles)强调し、プロフィールエイリアスは不変の正確なバンドルリビジョンへ解決され、意図プリセットとエキスパート向けグラフ制約も提供する。
ツールの使いやすさそのものがプロジェクトの目標の一つとして表明されている。通常のパスはまず制約解決と剪定を行い、次に実証に基づく小さな順位付き viable plans の集合を実行し、既知の互換性問題を構造化された負の知識として保持することで同等の失敗を再発見する必要がないようにする。広範な総当り探索は既定体験ではなく明示的な研究モードとして残す。
アーキテクチャ上は言語ではなく責任で分割され、Nim Planning Kernelがグラフ正規化・制約解決・組み合わせ的解決・アーティファクト要求伝播・剪定・クリティカルパス分析をHandledし、Rust Runtime SchedulerがCLI・ツールチェーン検出・OS相互作用・プロセス実行・リソース勘定・キャッシュ/CAS・デーモンサービス・測定・トレース・スケジューリングをHandledする。
現在レポジトリに存在するのは環境およびツールチェーンIDレイヤーである。レポジトリ所有のマチツールチェーンロック(toolchains.lock.toml)はdoctorコマンドによって正確なEnvironmentFingerprintおよびToolchainFingerprintレコードへと解決される。
scripts/bootstrap.shはロックファイルに対して不足ツールを報告し、--installフラグ付きでインストールも行える(macOS/Homebrew plus rustup)。Bootstrapスクリプトは可能な限り正確かつシステムパッケージマネージャー以外の来源を優先し(rustupツールチェーン on llvm-tools、choosenimによる正確なNimバージョン、cargo install --version による純粋Rust CLIツール)、clang/llvm-configやBinaryenのwasm-optなど代替手段のないツールのみシステムパッケージマネージャーへフォールバックする。
cargo run -p laminaria-cli -- doctor は人間可读な環境レポートを印刷し、--jsonは机械可读なフィンガープリントを出力する。docker/bootstrap.Dockerfileはコンテナ内で同じスタックを実行して再現可能なbootstrapチェックを行うが、測定ドキュメントによればこれは正确性再現のみ为目的とし、doctorはenvironment_class = "container"を記録するためコンテナ実行がネイティブベースラインと黙示的に比较されない。
ドキュメントは英語・日本語両方で提供され、エージェント指向ツールチェーンUX・有界計画・検証済みツールチェーンプロフィールと進化的コンフィグレーション・マルチバージョンRust/Nimツールチェーン方針・測定基盤と環境/トレース戦略・バックエンドパイプラインの白箱化・研究基盤・研究プログラムと証拠方針・Rust–Nimネイティブリンク・メトリクスファースト研究方針・Issueプラン・プロジェクト提案を覆盖する。
ライセンスはApache License 2.0またはMITのデュアルとし、サードパーティコンポーネントは各自のライセンスを维持する。READMEはこの取り組みを最適化の前に測定スパインを確立する研究プログラムとして提示しており、本章での機能主張は設計意図と現在コミットされた環境IDツールिंगを反映するものであり、検証済みビルド性能を保证するものではない。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.