X3J13 - X3J13

X3J13 es el nombre de un comité técnico que formaba parte del Comité Internacional de Estándares de Tecnología de la Información (INCITS, entonces llamado X3 ). El comité X3J13 se formó en 1986 para elaborar un American National Standards Institute (ANSI) Common Lisp estándar basado en la primera edición del libro Common Lisp la Lengua (también denominado CLtL o CLtL1 ), por Guy L. Steele Jr. , que anteriormente era un estándar de facto para el idioma. El resultado principal de X3J13 fue un estándar nacional estadounidense para el lenguaje de programación Common Lisp (X3.226 / 1994), aprobado el 8 de diciembre de 1994. X3J13 trabajó más tarde con el grupo de trabajo de la Organización Internacional de Normalización (ISO) SC22 / WG16 en un dialecto estandarizado internacionalmente de Lisp llamado ISLISP .

Organización

El presidente original del comité fue el doctor Robert Mathis de la Universidad Estatal de Ohio , con Mary van Deusen como secretaria. Guy L. Steele Jr. fue originalmente el vicepresidente. En años posteriores, Mathis dejó el cargo de presidente y Steele asumió ese papel.

Los esfuerzos del comité fueron guiados por su estatuto , cuya exitosa creación se atribuye a los esfuerzos de coordinación de Susan P. Ennis, representante de Amoco Production Company. La carta establece las metas y prioridades del comité, y una lista ampliamente definida de algunos temas que se abordarán.

Subcomités

El comité formó varios subcomités para ayudar a sus miembros a concentrar mejor sus esfuerzos.

Subcomité de limpieza

El Subcomité de Limpieza, presidido por Larry Masinter, estableció un formato estandarizado para la presentación de propuestas para votación. Estos informes de problemas, aunque no forman parte del estándar, se consideraron lo suficientemente útiles para que Common Lisp HyperSpec los incluyera y realizara referencias cruzadas en beneficio de los lectores, proporcionando información sobre la intención original del comité en sus decisiones. Estos informes también sirven como un registro histórico de esas soluciones alternativas a los problemas que, en última instancia, no se adoptaron.

Subcomité de compiladores

Presidido por Sandra Loosemore, este subcomité creó propuestas para cuestiones relacionadas con la compilación Lisp . Guy Steele reconoció en la segunda edición de Common Lisp the Language la gran contribución del Subcomité de Compiladores para aclarar el proceso de compilación descrito en la primera edición, partes del cual Steele describe como "vagas".

Subcomité de iteración

Jon L. White fue el presidente del Subcomité de iteración . Entre los temas tratados por este grupo se encontraba la LOOP macro generalizada , un lenguaje de dominio específico al que la segunda edición de CLtL dedica un capítulo completo. La sintaxis "similar a ALGOL " de esta macro, que difiere de la sintaxis de expresión s más habitual de Lisp , fue y sigue siendo algo controvertida.

Subcomité de personajes

El Subcomité de caracteres, presidido por Thom Linden, tenía la tarea de definir cómo trataría la norma los problemas relacionados con los diferentes conjuntos de caracteres . La resolución de estos asuntos, particularmente la capacidad de usar cualquier carácter en el nombre de un símbolo , tenía la intención de simplificar Common Lisp para los usuarios internacionales.

Subcomité de manejo de errores

Presidido por Kent Pitman , el Subcomité de Manejo de Errores tapó lo que se describió como "el mayor agujero pendiente en Common Lisp" con el sistema de condición , un mecanismo general para manejar errores , advertencias y otras situaciones excepcionales.

El comité se refirió a la especificación resultante como un "sistema de condiciones" en lugar de un "sistema de error" para acomodar un sistema para manejar situaciones excepcionales de varios tipos, ya sean fatales o no fatales, continuables o no, y si el resultado del programa error o límite de recursos simple (como desbordamiento de pila). Las condiciones se señalan en un punto del código y pueden manejarse en otro punto. Este uso del término "señal" es diferente de la noción típica de señales del sistema operativo (excepto en las máquinas Lisp donde esta variante del uso del término evolucionó); la noción de señalización del sistema operativo estaba fuera del alcance de este comité y, en consecuencia, no se abordó en el estándar ANSI Common Lisp. Las interrupciones asincrónicas y la captura de punto flotante IEEE también estaban fuera del alcance del trabajo de este comité y no se abordaron en el estándar.

Subcomité de redacción

Kathy Chapman fue la presidenta del Subcomité de Redacción, que fue responsable de la redacción del documento estándar actual . Además, el subcomité supervisó los esfuerzos para mantener la terminología coherente y precisa en todas las actividades del comité.

Documento final

El estándar final producido por el comité X3J13 se publicó como Estándar Nacional Estadounidense X3.226, y también en forma de hipertexto como Common Lisp HyperSpec .

Relación con Common Lisp the Language

El libro Common Lisp the Language , aunque escrito principalmente por Guy L. Steele Jr. , fue el producto de un comité ad hoc que se había formado alrededor de 1980 y había trabajado en colaboración para producir el estándar original de facto para Common Lisp antes de la formación de X3J13. . X3J13 comenzó su trabajo con Common Lisp the Language como documento base y procedió desde allí en el diseño de lo que se convertiría en ANSI Common Lisp. Steele formó parte del comité y les dio permiso para usar alguna o todas las partes de su primera edición en sus esfuerzos.

Los documentos publicados por X3J13 se utilizaron más tarde, junto con las citas de algunos miembros del comité, en la producción de Common Lisp the Language Second Edition, que se publicó en 1990, lo que le dio a la comunidad de Common Lisp una forma de obtener una vista previa de muchas características que se esperaba que aparecieran en el documento estándar final del comité. Esa edición tiene similitud con el estándar en contenido, aunque no en forma. Sin embargo, se realizaron cambios sustanciales, en forma de adiciones y eliminaciones, entre la publicación del libro y el borrador final de la norma ANSI.

En resumen, la edición original de Common Lisp the Language fue el documento en el que X3J13 basó originalmente su trabajo. La segunda edición, por el contrario, fue obra del propio Steele, no un producto de un comité y no tenía un estatus oficial dentro de X3J13 o ANSI. Como se reconoce en el prefacio de la Segunda Edición, no fue autorizado por X3J13, la elección del contenido como una instantánea del trabajo en progreso no se sincronizó formalmente con X3J13, y la versión final no fue revisada ni aprobada por X3J13.

Ver también

Referencias

enlaces externos