Modularは2026年8月11日、プログラミング言語Mojoのバージョン1.
本番運用の実績をもとにバージョン1.0へ
Mojo 1.
Modularは2024年3月、標準ライブラリのコアモジュールをオープンソース化した。それ以降、約200人のコントリビューターによる1100件を超えるプルリクエストが取り込まれ、変更行数は20万行を超えた。1000人を超える開発者から寄せられた問題報告や要望も、言語設計に影響を与えたという。
Mojo 1.Deinitableなどはトレイト全体、Arrayなどは一部のAPIが対象となっている。今後のリリースで対象を増やす予定。
言語の一貫性とメモリ安全性を改善
1.
言語機能では、処理を一つの式で記述するPython風の無名関数lambdaを追加した。変数宣言ではvarを明示する仕様に変更し、InlineArrayをArrayへ改称するなど、用語も整理している。
メモリ周りでは、PointerとUnsafePointerを単一のPointer型に統合した。安全でない型を別に用意するのではなく、どの操作が安全でないかを個別に示す設計へ変更している。コンテナと内部要素の参照関係を追跡する実験的な仕組みListやDictを変更した際、保持していた要素への参照が無効になる可能性も検出できる。
このほか、コード補完などを担うMojoのLSPサーバーも、安定性と信頼性が向上した。
アクセラレーター関連APIをMAXへ移行
GPUなどのアクセラレーターに特化した一部APIは、Mojo標準ライブラリからMAXのmaxパッケージへ移動した。多次元データのメモリ配置を扱うlayoutパッケージもMAXに同梱され、GPUプログラミング関連のドキュメントもMAX側に集約された。移動したAPIやlayoutを利用するには、Mojoに加えてmaxパッケージを導入する必要がある。
layoutのソースコードは、Apache License 2.maxパッケージには独自のModular Community Licenseが適用される。パッケージ自体は無償で利用できるが、商用・
GPUカーネルへ値を渡すには、ホストからアクセラレーターへ受け渡せる型であることを示すDevicePassableへの準拠が必要になる。プラットフォームによってビット幅が変わるIntとUIntは、1.Int32などの固定幅型を使う必要がある。
uvでインストール、コンパイラは2026年中にオープンソース化予定
Mojo 1.max[all]を指定する。
uv pip install --upgrade mojo uv pip install max[all]
今後は非同期処理の仕組みやパターンマッチ、共用体などを追加し、汎用的なシステムプログラミングにも使える言語を目指す。Mojo本体に加え、Mojoで開発したMAXコンポーネントも段階的にオープンソース化する。Mojoのコンパイラとツールチェーンは2026年中に公開する予定としている。