X3J13 - X3J13

X3J13 est le nom d'un comité technique qui faisait partie de l' International Committee for Information Technology Standards (INCITS, alors dénommé X3 ). Le comité de X3J13 a été créé en 1986 pour élaborer un American National Standards Institute (ANSI) Common Lisp norme basée sur la première édition du livre Common Lisp la langue (également appelé CLtL , ou CLtL1 ), par Guy L. Steele Jr. , qui était autrefois une norme de facto pour la langue. Le principal résultat de X3J13 était une norme nationale américaine pour le langage de programmation Common Lisp (X3.226 / 1994), approuvée le 8 décembre 1994. X3J13 a ensuite travaillé avec le groupe de travail SC22 / WG16 de l'Organisation internationale de normalisation (ISO) sur un dialecte normalisé au niveau international de Lisp nommé ISLISP .

Organisation

Le président initial du comité était le docteur Robert Mathis de l'université de l'État de l' Ohio , avec Mary van Deusen comme secrétaire. Guy L. Steele Jr. était à l'origine le vice-président. Plus tard, Mathis a démissionné de son poste de président et Steele a assumé ce rôle.

Les efforts du comité ont été guidés par sa charte , dont la création réussie est attribuée aux efforts de coordination de Susan P. Ennis, une représentante d' Amoco Production Company. La charte énonce les objectifs et les priorités du comité, ainsi qu'une liste largement définie de certains sujets à traiter.

Sous-comités

Le comité a formé plusieurs sous-comités pour aider ses membres à mieux concentrer leurs efforts.

Sous-comité de nettoyage

Le sous-comité de nettoyage, présidé par Larry Masinter, a établi un format normalisé pour la soumission des propositions de vote. Ces articles, bien qu'ils ne fassent pas eux-mêmes partie de la norme, ont été jugés suffisamment utiles pour que Common Lisp HyperSpec les inclue et les renvoie dans l'intérêt des lecteurs, fournissant des informations sur l'intention initiale du comité dans ses décisions. Ces écrits servent également de compte rendu historique des solutions alternatives aux problèmes qui, en fin de compte, n'ont pas été adoptées.

Sous-comité du compilateur

Présidé par Sandra Loosemore, ce sous-comité a élaboré des propositions pour des questions relatives à la compilation Lisp . Guy Steele a reconnu dans la deuxième édition de Common Lisp the Language la grande contribution du sous-comité du compilateur à clarifier le processus de compilation décrit dans la première édition, dont Steele décrit des parties comme "vagues".

Sous-comité itération

Jon L. White était le président du sous-comité de l' itération . Parmi les questions traitées par ce groupe figurait la LOOP macro généralisée - un langage spécifique à un domaine auquel la deuxième édition de CLtL consacre un chapitre complet. La syntaxe " ALGOL- like" de cette macro, différente de la syntaxe d' expression s plus habituelle de Lisp , était et reste quelque peu controversée.

Sous-comité des personnages

Le sous-comité sur les caractères, présidé par Thom Linden, avait pour tâche de définir comment la norme traiterait les problèmes entourant les différents jeux de caractères . La résolution de ces problèmes, en particulier la possibilité d'utiliser n'importe quel caractère dans le nom d'un symbole , visait à simplifier Common Lisp pour les utilisateurs internationaux.

Sous-comité de gestion des erreurs

Présidé par Kent Pitman , le sous-comité de gestion des erreurs a comblé ce qui a été décrit comme "le plus grand trou exceptionnel du Common Lisp" avec le système de conditions , un mécanisme général de gestion des erreurs , des avertissements et d'autres situations exceptionnelles.

Le comité a qualifié la spécification résultante de "système de conditions" plutôt que de "système d'erreur" pour tenir compte d'un système unique pour traiter des situations exceptionnelles de divers types, qu'elles soient fatales ou non, qu'elles soient persistantes ou non, et si le résultat du programme erreur ou limite de ressource simple (comme un débordement de pile). Les conditions sont signalées à un point du code et peuvent être traitées à un autre point. Cette utilisation du terme «signal» est différente de la notion typique de signaux du système d'exploitation (sauf sur les machines Lisp où cette variante d'utilisation du terme a évolué); la notion de système d'exploitation de signalisation était hors de portée de ce comité, et par conséquent n'a pas été abordée dans la norme ANSI Common Lisp. Les interruptions asynchrones et le piégeage à virgule flottante IEEE étaient également hors de portée des travaux de ce comité et n'étaient pas traités dans la norme.

Sous-comité de rédaction

Kathy Chapman était la présidente du sous-comité de rédaction, qui était responsable de la rédaction du document standard proprement dit . De plus, le sous-comité a supervisé les efforts visant à assurer la cohérence et l'exactitude de la terminologie tout au long des activités du comité.

Document final

La norme finale produite par le comité X3J13 a été publiée sous le nom de norme nationale américaine X3.226, et également sous forme hypertexte sous le nom de Common Lisp HyperSpec .

Relation avec Common Lisp le langage

Le livre Common Lisp the Language , bien que rédigé principalement par Guy L. Steele Jr. , était le produit d'un comité ad hoc qui s'était formé vers 1980 et avait travaillé en collaboration pour produire le standard de facto original pour Common Lisp avant la formation de X3J13 . X3J13 a commencé son travail avec Common Lisp the Language comme document de base et a procédé à partir de là à la conception de ce qui allait devenir ANSI Common Lisp. Steele a siégé au comité et leur a donné la permission d'utiliser tout ou partie de sa première édition dans leurs efforts.

Des documents publiés par X3J13 ont ensuite été utilisés, ainsi que des citations de certains membres du comité, dans la production de Common Lisp the Language Second Edition, qui a été publié en 1990, donnant à la communauté Common Lisp un moyen de prévisualiser de nombreuses fonctionnalités qui devaient apparaître dans le document standard final du comité. Cette édition présente une similitude avec la norme dans le contenu, mais pas dans la forme. Cependant, des changements substantiels ont été apportés, sous forme d'ajouts et de suppressions, entre la publication du livre et le projet final de la norme ANSI.

En somme, l'édition originale de Common Lisp the Language était le document sur lequel X3J13 a basé son travail à l'origine. La deuxième édition, en revanche, était le travail de Steele, pas un produit de comité et n'avait pas de statut officiel au sein de X3J13 ou ANSI. Comme reconnu dans la préface de la deuxième édition, il n'a pas été autorisé par X3J13, le choix du contenu comme un instantané du travail en cours n'a pas été formellement synchronisé avec X3J13, et la version finale n'a pas été revue ou approuvée par X3J13.

Voir également

Références

Liens externes