RocコンパイラのRustからZigへの書き直し状況報告
Judul asli: How Our Rust-to-Zig Rewrite Is Going
Mengapa Ini Penting
オープンソース言語処理系の大規模書き直しにおける実践的な知見として業界の参考事例となる
Rocコンパイラチームが300,000行のRustコードをZigに書き直す作業を開始から487日後、オリジナルコンパイラとの機能同等性を達成した。
プログラミング言語Rocのコンパイラチームは、約30万行のRustコードをZigに書き直すプロジェクトを約1年半にわたって進めており、最近オリジナルコンパイラとの機能同等性(フィーチャーパリティ)というマイルストーンを達成した。
この達成を示す実例として、Brendan Hansknechtが2024年に制作したWebAssemblyゲーム「Rocci Bird」が新コンパイラで動作するよう更新された。新コンパイラによるビルドでは、`roc build --opt=size`コマンドで31KBのWASMバイナリが生成され、旧コンパイラの出力の半分以下のサイズを実現した。
書き直しの期間は487日で、BunプロジェクトがZig約50万行からRustへ移行した11日間と比較して476日長かった。この差の主な理由として、Bunが直接的なポートであったのに対し、Rocチームは設計上の変更を伴う書き直しを選択したことが挙げられている。
開発には複数のコントリビューターが貢献し、パーサー、型チェッカー、ラムダセット解決システムなどの各コンポーネントが新たに実装された。現在は正式リリースではなくマイルストーンの達成であり、正式バージョン0.1.0のリリースは今年後半を目指している。