Common Lisp
Common Lisp é uma implementação específica da linguagem de programação Lisp multi-paradigma que suporta programação funcional e procedural. Sua especificação foi criada por Guy L. Steele nos anos 1980 a partir da linguagem Lisp com o intuito de combinar aspectos de diversos dialetos Lisp anteriores, incluindo Scheme. Foi proposto inicialmente o nome de "Standard Lisp" para a linguagem, mas em virtude de um dialecto Lisp já existir com este nome, se buscou um nome similar, resultando no nome "Common Lisp". Em 1994 foi publicada no padrão ANSI Information Technology - Programming Language - Common Lisp, registro X3.226-1994 (R1999).. É bem maior e semanticamente mais complexa que Scheme uma vez que foi projetada para ser uma linguagem comercial e ser compatível com os diversos dialectos Lisp dos quais derivou.
| Common Lisp | |
|---|---|
| Paradigma | Multiparadigma, funcional, Orientação a Objetos |
| Surgido em | 1984, 1994 para o ANSI Common Lisp |
| Criado por | Comitê ANSI X3J13, presidido por Guy L. Steele Jr. |
| Estilo de tipagem | forte, dinâmica |
| Principais implementações | CLISP, Steel Bank Common Lisp, Embeddable Common Lisp, Armed Bear Common Lisp, Clozure Common Lisp, Allegro Common Lisp, GNU Common Lisp, Corman Common Lisp, LispWorks |
| Influenciada por | Lisp, Scheme, Smalltalk |
| Influenciou | Dylan, Clojure, Ruby |
Common Lisp é uma implementação específica da linguagem de programação Lisp multi-paradigma que suporta programação funcional e procedural. Sua especificação foi criada por Guy L. Steele nos anos 1980 a partir da linguagem Lisp com o intuito de combinar aspectos de diversos dialetos Lisp anteriores, incluindo Scheme. Foi proposto inicialmente o nome de "Standard Lisp" para a linguagem, mas em virtude de um dialecto Lisp já existir com este nome, se buscou um nome similar, resultando no nome "Common Lisp"[1]. Em 1994 foi publicada no padrão ANSI Information Technology - Programming Language - Common Lisp, registro X3.226-1994 (R1999).[2]. É bem maior e semanticamente mais complexa que Scheme uma vez que foi projetada para ser uma linguagem comercial e ser compatível com os diversos dialectos Lisp dos quais derivou.
Exemplos de código
[editar | editar código]Olá mundo
[editar | editar código](defun olá-mundo ()
(format t "Olá mundo"))
Entrada e Saída
[editar | editar código](defun pergunta (string)
(format t "~%~%~A" string)
(read))
(pergunta "Quantos anos voce tem? ")
Loops
[editar | editar código](defun quadrados (inicio fim)
(loop :for i :from inicio :to fim
:do (format t "~A ~A~%" i (* i i))))
Bibliografia
[editar | editar código]- SEIBEL, PETER.(2005); Practical Common Lisp. Apress, 2005.
- GRAHAM, Paul (1996). Ansi Common Lisp. Nova Jérsia: Prentice Hall. ISBN 0-13-370875-6
- GRAHAM, PAUL.(1993); On Lisp. Prentice Hall, 1993. (Descreve técnicas avançadas para uso de macros)
- STEELE, Guy L. (1990). Common Lisp - The Language. Lexington: Digital Press. ISBN 1-55558-041-6
- TOURETZKY, DAVID S.(1990); Common Lisp - A Gentle Introduction to Symbolic Computation. Benjamin Cummings, Redwood City, 1990. ISBN 0-8053-0492-4
Ver também
[editar | editar código]Referências
- ↑ BERGIN, Thomas J.; GIBSON, Richard G. (1996). History of Programming Languages II. New York: ACM Press, Addison-Wesley. 864 páginas. ISBN 0-201-89502-1
- ↑ Página do Documento Arquivado em 1 de janeiro de 2014, no Wayback Machine. no sítio da ANSI
Ligações externas
[editar | editar código]- common-lisp.net
- lisp-lang.org
- Common Lisp Cookbook
- Awesome-cl
- Site do autor David S. Touretzky
- Livro em pdf "Common Lisp: A Gentle Introduction to Symbolic Computation de David S. Touretzky"
- Livro "Common Lisp - The Language" disponível em formato HTML
- Livro "Common Lisp The Language" pela Google books
- Implementações de Common Lisp
- Livro do Paul Graham em pdf "On Lisp"