継続開発
優先順位は、現在の動く経路を維持しながら、仕様と安全性を段階的に固めることです。
- Resultのmatchを足場に、nullableのmatch、checked/wrapping算術、文字列長、source span、変数shadowing、borrow originを確定する。
- High checkerのpartial move・分岐・loop・escape解析を強化し、Rust backendへの依存点を縮める。
- 相対ファイルのimportと型付きRust連携を足場に、名前付きmodule・alias、汎用generic、trait、async関数を受け渡す型注釈とMapの標準APIを実装する。
- 任意stateのactor宣言、Supervisor tree、bounded queue宣言を現在のランタイムへlowerする。
- request arenaとborrowed class、DBでstep中にencodeする経路、buffer再利用、streaming JSONを比較測定する。
- 型付きSQL引数・行・transactionの共通契約を固め、既存Rust driverを使ってPostgreSQLへ対応する。キャンセルとpoolの終了を実DBで確認する。
- Lowのlayout・pointer・arena・unsafe境界・C ABIを定義し、sanitizer/coverage-guided fuzzを整える。
- Rust codegenから独立backendを導入する。schedulerを置き換える判断も測定で行う。
このページの目次
self-hosting
| Stage | 内容 | 状況 |
|---|---|---|
| 0 | RustでLow compiler | 小さい言語subsetを実装 |
| 1 | RustでHigh compiler | Lowへの変換を実装 |
| 2 | LowでLow compilerを書き直す | 未着手。String/Map/module/allocator APIの拡張が必要 |
| 3 | Low compilerが自身をコンパイル | 未着手。bootstrap比較とdeterminism試験が必要 |
実用化には複数の開発段階が必要です。この試作のテストが通ったことは、本番用言語・runtimeの完成や、全unsafe/FFI経路の安全性を意味しません。工数の正確な見積もりは仕様と担当体制が決まってから行います。
自作基盤とRust資産の再利用については、動くサンプルと具体的な設計案を用意しています。依存設定、名前空間、resourceとDBの契約を、既存コードを保ちながら段階的に整える案です。