|
Lisp é uma família de linguagens com uma longa história. As primeiras ideias chave foram desenvolvidas por John McCarthy durante o ano de 1956 no Dartmouth Summer Resea
rch Project on Artificial Intelligence. O objectivo de McCarthy era desenvolver uma linguagem que processava lista algébricas para trabalhar na inteligência artificial.
Os primeiros esforços
Os primeiros esforços de implementação dos primeiros dialectos do Lisp foram tomados nos IBM~704, IBM~7090, Digital Equipment Corporation (DEC) PDP-1, DEC~PDP-6 e no PDP-10. O primeiro
dialecto do Lisp entre 1960 e 1965 foi o Lisp~1.5. No inicio dos anos 70 havia dois dialectos do Lisp predominantes, ambos emergiam desses primeiros esforços : MacLisp e Interlisp. Para mais informações sobre o
s primeiros dialectos do Lisp, ver {The Anatomy of Lisp} ou {Lisp 1.5 Programmer's Manual}.
Maclisp
MacLi
sp melhorou na versão Lisp~1.5 a noção de variáveis especiais e o manejo de erros. MacLisp introduziu também o conceito de funções que poderiam receber um número variável de argumentos, macros, arrays, saídas não locais din
âmicas, aritmética rápida, o primeiro bom compilador de Lisp e enfatizou a velocidade de execução. No fim dos anos 70, MacLisp era usado em mais de 50 cidades. Para mais informações sobre o Maclisp, ver {Maclisp Reference Manual, Revision
~0} ou {The Revised Maclisp Manual}.
Interlisp
Interlisp introduziu muitas ideias no ambiente e metodologia
da programação em Lisp. Uma das ideias do Interlisp que influenciou o Common Lisp foi uma "iteration construct" implementada por Warren Teitelman que inspirou o "loop macro" usado tanto no Lisp Machines e no MacLisp e agora no Common
Lisp. Para mais informações sobre Interlisp, ver {Interlisp Reference Manual}.
Smalltalk, Falvors
No fim dos anos 70
os conceitos da programação orientada a objectos começava a ter um forte impacto no Lisp. No MIT, certas ideias do SmallTalk caminharam para sistemas de programação largamente usados. Flavors, um sistema de programação orientada
a objectos com herança múltipla, foi desenvolvida no MIT para a comunidade Lisp por Howard Cannon e outros. Na Xerox, a experiência com o Smalltalk e Knowledge Representation Language (KRL) levaram ao desenvolvimento do Lisp Obj
ect Oriented Programming System (LOOPS) e mais tarde ao Common LOOPS. Para mais informações sobre o Smalltalk, ver {Smalltalk-80: The Language and its Implementation}. Para mais infromações sobre o Flavors, ver {Flavors: A Non-H
ierarchical Approach to Object-Oriented Programming}.
CLOS
Estes sistemas influenciaram o desenho do Common Lisp Object Syst
em (CLOS). CLOS foi desenvolvido especificamentepara este esforço de standardização e foi separadamente escrito no {Common Lisp Object System Specification}. No entanto, pequenos detalhes do seu desenho foram ligeiramen
te mudados desde essa publicação, e essa publicação não deve ser tomada como uma referencia autoritária na semântica do sistema objecto.
|
|