X3J13 - X3J13

X3J13 ist der Name eines technischen Komitees, das Teil des Internationalen Komitees für Informationstechnologiestandards (INCITS, damals X3 genannt ) war. Der X3J13 Ausschuß wurde 1986 gebildet , um einen erstellen American National Standards Institute (ANSI) Common Lisp - Standard auf Basis der ersten Auflage des Buchs Common Lisp die Sprache (auch bezeichnet als cltl oder CLtL1 ), von Guy L. Steele Jr. , Das war früher ein De-facto- Standard für die Sprache. Die Hauptausgabe von X3J13 war ein amerikanischer nationaler Standard für die Programmiersprache Common Lisp (X3.226 / 1994), der am 8. Dezember 1994 genehmigt wurde. X3J13 arbeitete später mit der Arbeitsgruppe SC22 / WG16 der Internationalen Organisation für Normung (ISO) an einem international standardisierten Dialekt von Lisp namens ISLISP .

Organisation

Der ursprüngliche Vorsitzende des Komitees war Doktor Robert Mathis von der Ohio State University mit Mary van Deusen als Sekretärin. Guy L. Steele Jr. war ursprünglich der stellvertretende Vorsitzende. In späteren Jahren trat Mathis als Vorsitzender zurück und Steele übernahm diese Rolle.

Die Bemühungen des Ausschusses wurden von seiner Satzung geleitet , deren erfolgreiche Schaffung den Koordinierungsbemühungen von Susan P. Ennis, einer Vertreterin der Amoco Production Company, zugeschrieben wird. Die Charta enthält die Ziele und Prioritäten des Ausschusses sowie eine breit definierte Liste einiger zu behandelnder Themen.

Unterausschüsse

Der Ausschuss bildete mehrere Unterausschüsse, um seinen Mitgliedern zu helfen, ihre Bemühungen besser zu konzentrieren.

Unterausschuss für Bereinigung

Der Unterausschuss für Bereinigung unter dem Vorsitz von Larry Masinter hat ein standardisiertes Format für die Einreichung von Abstimmungsvorschlägen festgelegt. Diese Problembeschreibungen waren zwar selbst nicht Teil des Standards, wurden jedoch als ausreichend nützlich erachtet, damit die Common Lisp HyperSpec sie zum Nutzen der Leser einbezieht und mit Querverweisen versehen kann, um Informationen über die ursprüngliche Absicht des Ausschusses in seine Entscheidungen aufzunehmen. Diese Aufzeichnungen dienen auch als historische Aufzeichnung jener alternativen Lösungen für Probleme, die letztendlich nicht übernommen wurden.

Compiler-Unterausschuss

Unter dem Vorsitz von Sandra Loosemore erstellte dieser Unterausschuss Vorschläge für Fragen im Zusammenhang mit der Lisp- Zusammenstellung . Guy Steele würdigte in der zweiten Ausgabe von Common Lisp the Language den großen Beitrag des Compiler-Unterausschusses zur Klärung des in der ersten Ausgabe beschriebenen Kompilierungsprozesses, von dem Steele Teile als "vage" bezeichnet.

Iterationsunterausschuss

Jon L. White war der Vorsitzende des Iterationsunterausschusses . Zu den Themen, mit denen sich diese Gruppe befasste, gehörte das verallgemeinerte LOOP Makro - eine domänenspezifische Sprache , der die zweite Ausgabe von CLtL ein vollständiges Kapitel widmet. Die " ALGOL- ähnliche" Syntax dieses Makros, die sich von Lisps üblicherer S-Ausdruckssyntax unterscheidet , war und ist etwas umstritten.

Unterausschuss für Charaktere

Das Character Subcommittee unter dem Vorsitz von Thom Linden hatte die Aufgabe zu definieren, wie der Standard mit den Problemen im Zusammenhang mit verschiedenen Zeichensätzen umgehen soll . Die Lösung dieser Probleme, insbesondere die Möglichkeit, beliebige Zeichen im Namen eines Symbols zu verwenden , sollte Common Lisp für internationale Benutzer vereinfachen.

Unterausschuss Fehlerbehandlung

Unter dem Vorsitz von Kent Pitman hat der Unterausschuss für die Fehlerbehandlung das als "größte herausragende Loch in Common Lisp" bezeichnete System mit dem Zustandssystem verbunden , einem allgemeinen Mechanismus zur Behandlung von Fehlern , Warnungen und anderen Ausnahmesituationen.

Der Ausschuss bezeichnete die resultierende Spezifikation eher als "Bedingungssystem" als als "Fehlersystem", um ein System für die Behandlung von Ausnahmesituationen verschiedener Art zu berücksichtigen, ob tödlich oder nicht tödlich, ob fortlaufend oder nicht, und ob das Ergebnis des Programms Fehler oder einfaches Ressourcenlimit (z. B. Stapelüberlauf). Bedingungen werden an einer Stelle im Code signalisiert und können an einer anderen Stelle behandelt werden. Diese Verwendung des Begriffs "Signal" unterscheidet sich von der typischen Vorstellung des Betriebssystems von Signalen (außer auf Lisp-Maschinen, auf denen sich diese abweichende Verwendung des Begriffs entwickelt hat). Der Begriff der Signalisierung des Betriebssystems war für diesen Ausschuss nicht relevant und wurde daher im ANSI Common Lisp-Standard nicht behandelt. Asynchrone Interrupts und IEEE-Gleitkomma-Trapping waren für die Arbeit dieses Ausschusses ebenfalls nicht zulässig und wurden im Standard nicht behandelt.

Redaktionsunterausschuss

Kathy Chapman war die Vorsitzende des Unterausschusses für die Ausarbeitung, der für die Ausarbeitung des eigentlichen Standarddokuments verantwortlich war . Darüber hinaus überwachte der Unterausschuss die Bemühungen, die Terminologie während der gesamten Tätigkeit des Ausschusses konsistent und genau zu halten .

Endgültiges Dokument

Der vom X3J13-Komitee erstellte endgültige Standard wurde als American National Standard X3.226 und in Hypertextform als Common Lisp HyperSpec veröffentlicht .

Beziehung zu Common Lisp the Language

Das Buch Common Lisp the Language , obwohl hauptsächlich von Guy L. Steele Jr. verfasst , war das Produkt eines Ad-hoc-Komitees, das sich um 1980 gebildet hatte und vor der Gründung von X3J13 zusammengearbeitet hatte, um den ursprünglichen De-facto- Standard für Common Lisp zu erstellen . X3J13 begann seine Arbeit mit Common Lisp the Language als Basisdokument und entwickelte von dort aus ANSI Common Lisp. Steele war Mitglied des Komitees und gab ihnen die Erlaubnis, einige oder alle Teile seiner ersten Ausgabe für ihre Bemühungen zu verwenden.

Von X3J13 veröffentlichte Dokumente wurden später zusammen mit Zitaten bestimmter Ausschussmitglieder bei der Produktion von Common Lisp the Language Second Edition verwendet, das 1990 veröffentlicht wurde. Damit konnte die Common Lisp-Community eine Vorschau auf viele Funktionen anzeigen, die voraussichtlich erscheinen werden das endgültige Standarddokument des Ausschusses. Diese Ausgabe ähnelt inhaltlich dem Standard, jedoch nicht in der Form. Zwischen der Veröffentlichung des Buches und dem endgültigen Entwurf des ANSI-Standards wurden jedoch wesentliche Änderungen in Form von Hinzufügungen und Streichungen vorgenommen.

Insgesamt war die Originalausgabe von Common Lisp the Language das Dokument, auf dem X3J13 seine Arbeit ursprünglich basierte. Im Gegensatz dazu war die zweite Ausgabe Steeles eigenes Werk, kein Komiteeprodukt und hatte keinen offiziellen Status innerhalb von X3J13 oder ANSI. Wie im Vorwort der zweiten Ausgabe bestätigt, wurde es von X3J13 nicht autorisiert, die Auswahl des Inhalts als Momentaufnahme der laufenden Arbeiten wurde nicht offiziell mit X3J13 synchronisiert und die endgültige Version wurde von X3J13 nicht überprüft oder genehmigt.

Siehe auch

Verweise

Externe Links