Skip to content

Mojo 1.1 accepte enfin les contributions au compilateur

Mojo 1.1 accepte les contributions externes au compilateur un mois après la publication sous Apache 2.0, et achève la suppression de fn, alias et @parameter if.

Par Tech AI Wire Team

3 min de lecture

XLinkedIn
A closed laptop on a desk by a window, with an orange flame sticker on its lid.

En chiffres

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 accepte désormais les contributions externes au compilateur Mojo. Les notes de version de MAX 26.6 le disent en une ligne : « we're now accepting contributions to the Mojo compiler! » Cela referme l'écart que ce site avait signalé en août, quand le compilateur était passé en open source sous Apache 2.0 mais avec les contributions fermées.

À l'époque, Modular disait viser la fin 2026 pour accepter les contributions au compilateur. C'est arrivé plus tôt, et avec une version qui supprime aussi de la syntaxe.

Ce qui s'est réellement ouvert

L'annonce des contributions figure sur la page de release GitHub de Modular, et non dans les notes de version du langage. C'est utile à savoir si vous cherchez la procédure.

Aucune des deux pages ne nomme d'accord de licence de contributeur ni de politique de relecture. L'invitation est donc publique alors que les modalités ne sont pas encore écrites. Qui envisage d'envoyer un correctif au compilateur doit s'attendre à devoir demander.

Les suppressions dans 1.1

Cette version termine une migration plutôt qu'elle n'en lance une. Les notes de Mojo 1.1.0 indiquent que la version « completes the removal of APIs deprecated during the v1.0 cycle », et listent ce qui est parti :

SuppriméRemplacement
Mot-clé fnRemplacé pendant le cycle 1.0
Mot-clé aliasRemplacé pendant le cycle 1.0
__comptime_assertRemplacé pendant le cycle 1.0
@parameter ifcomptime if
@parameter forcomptime for

Les notes précisent aussi que le décorateur @parameter sur les fermetures paramétriques est renommé @__parameter, et ne sert plus qu'à déclarer les fermetures héritées.

Le mot important est « completes ». Ces constructions avaient été remplacées en 1.0 ; 1.1 est donc la version où les anciennes écritures cessent de fonctionner. Si vous avez repoussé cette migration parce que les anciennes formes compilaient encore, le sursis s'arrête ici.

Quelques fondations se sont aussi stabilisées. Selon les notes, Modular a « marked more APIs in the standard library as stable, such as String, SIMD, and List », en nommant des signatures précises pour chacune.

Ce qui est arrivé en même temps

Mojo 1.1 voyage dans le même train de versions que MAX 26.6, la plateforme d'inférence de Modular, et c'est là que se trouvent les chiffres de performance. Les notes revendiquent les accélérations de noyaux du graphique ci-dessus, dont une attention de décodage 4,8 fois plus rapide sur Gemma 4 et une quantification NVFP4 en petits lots 16 fois plus rapide sur Nvidia B200.

Deux changements de structure pèsent plus que les multiplicateurs. Le paquet max.gpu couvre maintenant tout ce qui vivait dans std.gpu. Et MAX gagne la génération audio, produisant « 44.1 kHz stereo music from a text prompt » avec MiniMax-Music3. Phoronix rapporte que le travail sur les noyaux couvre les GPU AMD et Nvidia.

Ce que cela signifie pour les développeurs

Figez votre version de Mojo avant de mettre quoi que ce soit à jour. Une version qui supprime fn, alias et deux formes de @parameter ne compilera pas du code écrit dans les écritures d'avant 1.0. L'erreur viendra de vos sources et non de vos dépendances. Cherchez d'abord ces cinq constructions dans votre arbre, puis mettez à jour.

Si vous écrivez des noyaux GPU sur la pile de Modular, le passage de std.gpu à max.gpu est le changement d'import à planifier. C'est un renommage mécanique, mais du genre qui touche tous les fichiers d'une bibliothèque de noyaux.

Le signal utile pour planifier, ce sont les marques de stabilité. Que Modular marque String, SIMD et List comme stables signifie que ces signatures sont sûres à construire dessus. C'est une promesse différente de celle d'un langage en 1.x. Tout ce qui n'est pas sur cette liste bouge encore.

Sur les contributions, tempérez vos attentes. Le rachat de Modular par Qualcomm s'est conclu en juillet 2026, le compilateur s'est ouvert en août, les correctifs externes sont devenus bienvenus en septembre. La séquence est rapide, et l'absence d'accord de contributeur ou de politique de relecture publiée suggère que la porte s'est ouverte avant que les papiers soient prêts. Utile si vous voulez corriger un bug que vous traînez, moins si vous devez savoir d'avance comment un gros changement sera accepté.

Sources

  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

Articles liés

A terminal showing a large C++ project compiling, with the CMake percentage counter partway through and object files scrolling past.
Coding

LLVM débat de compiler ClangIR par défaut

Une RFC LLVM propose de compiler ClangIR dans Clang par défaut. Personne ne l'utiliserait sans drapeau, mais des estimations doublent les temps de compilation.