X3J13 - X3J13

X3J13 é o nome de um comitê técnico que fazia parte do Comitê Internacional para Padrões de Tecnologia da Informação (INCITS, então denominado X3 ). O comitê X3J13 foi formada em 1986 para elaborar um American National Standards Institute (ANSI) Common Lisp padrão baseado na primeira edição do livro Lisp Comum da Língua (também denominado CLtL , ou CLtL1 ), por Guy L. Steele Jr. , que antes era um padrão de fato para o idioma. A saída principal do X3J13 foi um American National Standard para linguagem de programação Common Lisp (X3.226 / 1994), aprovado em 8 de dezembro de 1994. X3J13 mais tarde trabalhou com o grupo de trabalho SC22 / WG16 da Organização Internacional de Padronização (ISO) em um dialeto padronizado internacionalmente do Lisp denominado ISLISP .

Organização

O presidente original do comitê era o Dr. Robert Mathis, da Ohio State University , com Mary van Deusen como secretária. Guy L. Steele Jr. era originalmente o vice-presidente. Anos depois, Mathis deixou o cargo de presidente e Steele assumiu esse papel.

Os esforços do comitê foram guiados por seu estatuto , cuja criação bem-sucedida é creditada aos esforços de coordenação de Susan P. Ennis, representante da Amoco Production Company. A carta estabelece as metas e prioridades do comitê e uma lista amplamente definida de alguns tópicos a serem tratados.

Subcomitês

O comitê formou vários subcomitês para ajudar seus membros a concentrar melhor seus esforços.

Subcomitê de limpeza

O Subcomitê de Limpeza, presidido por Larry Masinter, estabeleceu um formato padronizado para a apresentação de propostas para votação. Esses writeups de questões, embora não sejam parte do padrão, foram considerados suficientemente úteis para o Common Lisp HyperSpec para incluí - los e cruzá- los para o benefício dos leitores, fornecendo informações sobre a intenção original do comitê em suas decisões. Essas redações também servem como um registro histórico das soluções alternativas para problemas que, em última análise, não foram adotadas.

Subcomitê de compiladores

Presidido por Sandra Loosemore, este subcomitê criou propostas para questões relacionadas à compilação do Lisp . Guy Steele reconheceu na segunda edição do Common Lisp the Language a grande contribuição do Subcomitê do Compilador para esclarecer o processo de compilação descrito na primeira edição, partes das quais Steele descreve como "vagas".

Subcomitê de iteração

Jon L. White foi o presidente do Subcomitê de Iteração . Entre as questões tratadas por este grupo estava a LOOP macro generalizada - uma linguagem de domínio específico à qual a segunda edição da CLtL dedica um capítulo completo. A sintaxe "semelhante a ALGOL " dessa macro, diferindo da sintaxe de expressão s mais comum de Lisp , foi e continua sendo um tanto controversa.

Subcomitê de personagens

O Subcomitê de Caracteres, presidido por Thom Linden, tinha a tarefa de definir como o padrão lidaria com as questões relacionadas aos diferentes conjuntos de caracteres . A resolução dessas questões, particularmente a capacidade de usar qualquer caractere no nome de um símbolo , pretendia tornar o Common Lisp mais simples para usuários internacionais.

Subcomitê de tratamento de erros

Presidido por Kent Pitman , o Subcomitê de Tratamento de Erros conectou o que foi descrito como "o maior buraco pendente no Common Lisp" com o sistema de condições , um mecanismo geral para lidar com erros , avisos e outras situações excepcionais.

O comitê se referiu à especificação resultante como um "sistema de condição" ao invés de um "sistema de erro" para acomodar um sistema para lidar com situações excepcionais de vários tipos, sejam fatais ou não fatais, sejam continuáveis ​​ou não, e sejam o resultado do programa erro ou limite de recurso simples (como estouro de pilha). As condições são sinalizadas em um ponto do código e podem ser tratadas em outro ponto. Este uso do termo "sinal" é diferente da noção típica de sinais do sistema operacional (exceto em máquinas Lisp onde este uso variante do termo evoluiu); a noção de sistema operacional de sinalização estava fora do escopo deste comitê e, conseqüentemente, não foi abordada no padrão ANSI Common Lisp. As interrupções assíncronas e o trapping de ponto flutuante IEEE também estavam fora do escopo do trabalho deste comitê e não foram abordados no padrão.

Subcomissão de redação

Kathy Chapman foi a presidente do Subcomitê de Redação, que foi responsável pela redação do documento padrão real . Além disso, o subcomitê supervisionou os esforços para manter a terminologia consistente e precisa em todas as atividades do comitê.

Documento final

O padrão final produzido pelo comitê X3J13 foi publicado como American National Standard X3.226, e também em forma de hipertexto como Common Lisp HyperSpec .

Relação com Common Lisp a linguagem

O livro Common Lisp the Language , embora de autoria principalmente de Guy L. Steele Jr. , foi o produto de um comitê ad hoc que se formou por volta de 1980 e trabalhou em colaboração para produzir o padrão original de facto para Common Lisp antes da formação do X3J13 . X3J13 começou seu trabalho com Common Lisp the Language como um documento base e procedeu a partir daí no design do que se tornaria o Common Lisp ANSI. Steele serviu no comitê e deu-lhes permissão para usar uma ou todas as partes de sua primeira edição em seus esforços.

Documentos publicados pelo X3J13 foram posteriormente usados, juntamente com citações de alguns membros do comitê, na produção de Common Lisp the Language Second Edition, que foi lançado em 1990, dando à comunidade Common Lisp uma maneira de visualizar muitos recursos que deveriam aparecer em documento padrão final do comitê. Essa edição tem semelhanças com o padrão em conteúdo, embora não em forma. No entanto, mudanças substanciais foram feitas, na forma de adições e exclusões, entre a publicação do livro e a versão final do padrão ANSI.

Em suma, a edição original de Common Lisp the Language foi o documento no qual o X3J13 originalmente baseou seu trabalho. A segunda edição, ao contrário, era obra do próprio Steele, não um produto de comitê e não tinha status oficial no X3J13 ou ANSI. Conforme reconhecido no prefácio da Segunda Edição, não foi autorizado pelo X3J13, a escolha do conteúdo como um instantâneo do trabalho em andamento não foi formalmente sincronizado com o X3J13 e a versão final não foi revisada ou aprovada pelo X3J13.

Veja também

Referências

links externos