L'Invariant

Récits du grand silence

Le Théoricien des Langages

Le professeur Sáenz avait publié abondamment sur les fondations minimales des langages de programmation. Son opinion, tenue depuis sa thèse de doctorat, était que la plupart des langages de programmation avaient trop de primitives et que la prolifération des formes intégrées était une catégorie de péché originel dont les générations successives de programmeurs souffraient. Il vint à la Cale pour trois semaines en tant qu'évaluateur externe et resta sept mois.

Son objection principale à la conception du dépôt portait sur le nombre de primitives. Il les compta, les nota dans un carnet, et présenta son analyse lors de la réunion technique hebdomadaire : quatorze primitives, c'était trop. La même puissance expressive pouvait être obtenue avec cinq, peut-être quatre, si gamma était suffisamment général. Il avait une ébauche de preuve.

L'argument contraire vint de Yusuf, qui fit remarquer qu'on pouvait réduire n'importe quel ensemble de primitives à un ensemble plus petit si l'on acceptait une évaluation impraticablement lente. Le professeur convint que c'était techniquement vrai. Il dit que la minimalité théorique et l'utilité pratique étaient des objectifs d'optimisation différents et que les confondre était une pensée négligente. Yusuf dit que « pensée négligente » était une formulation forte pour des gens qui avaient livré des logiciels fonctionnels.

Ils débattirent productivement pendant six semaines. Le résultat fut un document formel : une preuve que l'ensemble de primitives était minimal compte tenu de la contrainte que les opérations courantes devaient être évaluables en temps polynomial. Le professeur était mentionné comme auteur principal. Yusuf était mentionné comme co-auteur. Le document fut ajouté à la lignée du dépôt comme dérivation de la spécification de fondation originale.

Ce qui surprit le plus le professeur n'était pas le système mais les journaux de travail. En lisant le raisonnement enregistré en parallèle de chaque décision sur une primitive, il trouva des arguments qu'il avait formulés dans des articles publiés, indépendamment, des années plus tôt. Il les lut attentivement. Il écrivit dans la marge de son carnet : « Ils l'ont trouvé aussi. » Il ne le dit pas à voix haute. Il ajouta sa propre clé au registre des auteurs et valida ses notes dans le dépôt.