本文へスキップ

Mojo 1.1、コンパイラへの外部からの貢献を受け付け開始

Mojo 1.1はApache 2.0公開の1か月後にコンパイラへの外部貢献を受け入れ、fn、alias、@parameter ifの削除も完了させた。

著者

3 分で読めます

英語の原文から機械翻訳したものです。原文はClaire Whitmoreが事実確認と編集を行いました。内容に相違がある場合は英語版が優先されます。 編集方針

窓際の机に置かれた閉じたノートパソコン。天板にオレンジ色の炎のステッカーが貼られている。

数字で見る

legacy keywords removed: fn, alias and __comptime_assert
3
stdlib APIs marked stable: String, SIMD and List
3
when Qualcomm's purchase of Modular closed
July 2026
Kernel speedups claimed in the MAX 26.6 notes
Gemma 4 decode attention
4.8x
MoE routing
7.9x
NVFP4 low-batch quant
16x
MI355 decode projections
6.6x

Modularは、Mojoコンパイラへの外部からの貢献を受け付け始めた。MAX 26.6のリリースノートは一文でこう述べている。「Mojoコンパイラへの貢献を受け付けるようになりました」。これは本サイトが8月にApache 2.0で公開されたが貢献は閉じたままと報じた隙間を埋めるものだ。

当時Modularは、コンパイラへの貢献受け入れを2026年後半に始めたいとしていた。それが予定より早く実現し、しかも構文を削除するリリースと一緒に届いた。

実際に開いたもの

貢献を受け付ける告知は、言語側のリリースノートではなくModularのGitHubのリリースページにある。手順を探すなら知っておく価値がある。

どちらのページにも、貢献者ライセンス契約や査読の方針は書かれていない。つまり招待は公になったが、その仕組みはまだ文書化されていない。コンパイラにパッチを送るつもりなら、まず問い合わせることを想定しておきたい。

1.1での削除

このリリースは移行を始めるのではなく、終わらせるものだ。Mojo 1.1.0のノートは、このリリースが「v1.0の期間に非推奨となったAPIの削除を完了する」と述べ、何が消えたかを挙げている。

削除されたもの置き換え
fnキーワード1.0の期間に置き換え済み
aliasキーワード1.0の期間に置き換え済み
__comptime_assert1.0の期間に置き換え済み
@parameter ifcomptime if
@parameter forcomptime for

ノートはまた、パラメトリックなクロージャに付ける@parameterデコレータが@__parameterに改名され、いまはレガシーなクロージャの宣言にのみ使われると記している。

重要な語は「完了する」だ。これらの構文は1.0で置き換えられており、1.1は古い書き方が動かなくなる地点である。古い形式がまだコンパイルできたので移行を見送っていたなら、猶予が終わるのはこのリリースだ。

土台も一部固まった。ノートによると、Modularは標準ライブラリで「String、SIMD、ListなどのAPIを追加で安定と位置づけた」とし、それぞれ具体的なシグネチャを挙げている。

同時に出たもの

Mojo 1.1はModularの推論プラットフォームMAX 26.6と同じバージョン列で出ており、性能の数字はプラットフォーム側にある。リリースノートは上の図のカーネル高速化を主張しており、Gemma 4のデコード注意が4.8倍、NVIDIA B200での低バッチNVFP4量子化が16倍などが含まれる。

倍率より重要な構造変化が2つある。max.gpuパッケージが以前std.gpuにあった機能をすべて含むようになった。またMAXは音声生成を獲得し、MiniMax-Music3を使って「テキストのプロンプトから44.1kHzのステレオ音楽」を作る。Phoronixの報道によれば、カーネルの作業はAMDとNVIDIAのGPUの双方にまたがる。

開発者にとっての意味

何かを更新する前に、Mojoのバージョンを固定すること。fn、alias、そして2つの@parameter形式を削除したリリースは、1.0より前の書き方のコードをコンパイルしない。しかもエラーは依存関係ではなく自分のソースから出る。まずこの5つの構文をツリー全体で検索し、それから更新したい。

Modularのスタックに対してGPUカーネルを書いているなら、std.gpuからmax.gpuへの移動が予定に入れるべきインポートの変更だ。機械的な改名だが、カーネルのライブラリならすべてのファイルに触る類のものである。

計画の手掛かりとして役に立つのは安定の表明だ。ModularがString、SIMD、Listを安定としたのは、これらのシグネチャの上に作って差し支えないという意味である。これは言語が1.xにあることとは別の約束だ。この一覧にないものは、まだ動くと考えておきたい。

貢献については期待を抑えたい。QualcommによるModularの買収は2026年7月に完了し、コンパイラは8月に公開され、外部のパッチは9月に歓迎されるようになった。速い流れであり、貢献者ライセンス契約や査読方針が公開されていないことは、書類が整う前に扉が開いたことを示している。抱えてきたバグを直したい人には有用だが、大きな変更がどう受け入れられるのかを事前に知りたい人にはそうではない。

出典

  1. Mojo 1.1 Released, Now Accepting Community Contributions To The Compiler - Phoronix
  2. MAX 26.6.0 release notes - Modular
  3. Mojo v1.1.0 release notes - Mojo

関連記事

A silver laptop with a blue-and-yellow Python logo sticker on its lid sits on a wooden developer desk beside a coffee mug, a monitor glowing out of focus behind it.
プログラミング

CPythonのJIT、PEP 836の取り下げで削除へ

PEP 836の作成者が2026年10月19日にこの提案を取り下げました。そのため、CPythonの実験的なJIT(ジャストインタイム)コンパイラは、mainブランチから削除される見通しです。

プログラミング

C++26がContractsを巡りISO投票で否決、GCC 16で検証

C++26はContracts(コントラクト、契約プログラミング)を巡ってISO投票で否決された。Tech AI WireはGCC 16.2で4つのモードをすべて試し、1つは10 / 0に警告なしで0を出力した。