Résumé

  • FORMAC représentait les formules comme des structures manipulables : dérivation, substitution, développement et simplification pouvaient précéder la génération d’une forme compatible avec FORTRAN.
  • Une sortie simplifiée attestait l’application de règles formelles à une représentation donnée ; elle ne démontrait ni l’équivalence sur tous les domaines, ni la stabilité numérique, ni la validité scientifique.
  • Jean E. Sammet a lancé et dirigé le projet, tandis que les travaux d’E. R. Bond, Robert G. Tobey, Stephen N. Zilles, des autres membres d’IBM et de la communauté du calcul symbolique gardent leur identité propre.

Une carte perforée porte une équation qui n’est plus tout à fait celle écrite au départ. En amont, un système a éliminé des variables, effectué des substitutions et réorganisé l’expression. En aval, FORTRAN IV va compiler cette nouvelle forme et lui fournir des nombres. La carte relie les deux mondes ; elle ne les confond pas.

Cette interface donne sa portée à FORMAC. Le Computer History Museum rappelle que Jean E. Sammet rejoignit IBM en 1961 et dirigea le développement d’un système devenu largement utilisé en mathématiques symboliques. Dans son histoire orale, elle explique le choix fondateur : étendre un langage numérique existant. FORTRAN offrait une base opérationnelle, au prix de contraintes sur la manière d’exprimer le symbolique.

Faire de la forme un matériau de calcul

Dans leur article de 1964, Introduction to FORMAC, Sammet et E. R. Bond présentent des formules qui peuvent être nommées et soumises à des opérations. La dérivation formelle, le remplacement de variables, le développement, la simplification et l’évaluation ultérieure deviennent des actes de programme.

Le changement est profond. Un programme FORTRAN numérique calcule normalement une valeur lorsque ses variables ont reçu des valeurs. FORMAC peut auparavant travailler sur l’organisation de l’expression. La formule n’est plus seulement décrite : elle devient un objet exécutable.

Le panorama de 1966 rédigé par Sammet empêche cependant de transformer FORMAC en récit solitaire. Il couvre aussi l’intégration, l’affichage, l’édition, l’arithmétique de précision, les systèmes en lots ou interactifs et les applications. Une communauté entière cherchait à définir les possibilités et les limites de la manipulation de formules.

L’histoire interne reste elle aussi collective. Une rétrospective d’IBM situe les premiers concepts en juillet 1962, élaborés par Sammet avec l’aide de Robert G. Tobey. Une proposition interne suivit en août, les spécifications en décembre, un système complet en avril 1964 et la diffusion en novembre. La notice ACM de l’article collectif de 1964 cite Elaine R. Bond, Marc A. Auslander, S. Grisoff, Robert Kenney, Mat Myszewski, Sammet, Tobey et Stephen N. Zilles. Diriger la langue et réaliser le compilateur sont des contributions liées, mais distinctes.

Le passage par FORTRAN était une frontière productive

Une note technique de la NASA datant de 1968 montre la chaîne en situation. Un modèle linéaire de diagrammes fonctionnels était décrit symboliquement. FORMAC éliminait des variables, résolvait les équations, formait des rapports et pouvait développer des expressions rationnelles complexes lorsque la mémoire le permettait.

Le résultat était ensuite perforé sous une forme insérable dans une sous-routine FORTRAN IV. Les marques propres à FORMAC et certaines écritures d’exposants devaient être retirées. FORTRAN compilait alors la sous-routine, recevait des entrées numériques et calculait composantes réelle et imaginaire, module et phase.

Ce partage répondait à une contrainte concrète. Répéter les évaluations numériques dans FORMAC était lent et coûteux en espace de stockage des expressions. Le système symbolique réduisait l’algèbre ; le langage numérique répétait les calculs. L’intégration accélérait le transfert sans abolir la différence de responsabilité.

La note fixe également le périmètre : systèmes linéaires, pas de coefficients variant dans le temps, fonctions arbitraires seulement si l’utilisateur fournit leur équivalent FORTRAN, et expansions parfois empêchées par la mémoire. Une application géophysique contemporaine décrit pareillement FORMAC comme un préprocesseur symbolique dont la sortie doit encore rejoindre un autre environnement d’exécution.

« Simplifié » ne veut pas dire « démontré partout »

Lorsqu’une expression plus courte apparaît, on sait qu’un ensemble de règles a produit cette représentation. On ne sait pas encore qu’elle est équivalente à l’original pour toute valeur possible.

Une simplification par quotient peut faire disparaître un point où le dénominateur initial s’annule. Racines, logarithmes et puissances non entières portent des domaines et des branches. Une réorganisation correcte en algèbre exacte peut aggraver une soustraction catastrophique en arithmétique flottante. Un programme généré peut compiler tout en embarquant un modèle erroné, une fonction utilisateur fautive ou une mauvaise échelle. Enfin, un calcul stable peut répondre exactement à une question scientifique mal posée.

Il faut donc conserver six preuves : l’expression et ses hypothèses ; les transformations et leurs règles ; le code FORTRAN généré ; l’identité du compilateur et de l’exécutable ; les entrées et conditions numériques ; puis l’acceptation par le domaine scientifique. Chaque élément soutient le suivant, aucun ne lui transfère automatiquement son autorité.

Attribuer l’histoire avec la même précision

Dans sa rétrospective de 1993, The Beginning and Development of FORMAC, Sammet distingue conception, développement, systèmes voisins, gestion logicielle chez IBM et influence. Cette séparation protège une histoire plus exacte.

Sammet a identifié le projet de langue et l’a dirigé. Bond a cosigné l’introduction contemporaine et produit une première référence utilisée par la NASA. Tobey a contribué aux concepts initiaux et aux algorithmes. Zilles et les autres auteurs nommés ont participé au compilateur expérimental. Les travaux parallèles du calcul symbolique ont fourni comparaison, concurrence et idées.

Le legs de FORMAC ne tient donc pas à une machine qui aurait « prouvé l’algèbre ». Il tient à une architecture qui faisait circuler une expression entre représentation symbolique et calcul ordinaire tout en laissant visibles les responsabilités de chaque étape.

Sources