@@ -38,25 +38,46 @@ conhecidos são Common Lisp, Scheme e Clojure.
38
38
39
39
* O que é Common Lisp?
40
40
41
- Common Lisp é um dialeto multi-paradigma da linguagem de programação
42
- Lisp. Suporta os paradigmas de programação procedural, orientado a
43
- objetos e, inclusive, o funcional, comum a todos os
44
- Lisps, por sua próxima relação com a natureza do Cálculo Lambda.
45
-
46
- Foi criada por Guy L. Steele nos anos 80, com o intuito de combinar
47
- aspectos de diversos dialetos anteriores, incluindo Scheme. Em 1994
48
- foi publicada no padrão [[http://cvberry.com/tech_writings/notes/common_lisp_standard_draft.html][ANSI Information Technology - Programming
49
- Language - Common Lisp, registro X3.226-1994 (R1999)]]. Common Lisp é
50
- bem maior e semanticamente mais complexa que um dialeto como Scheme,
51
- uma vez que foi projetada para ser uma linguagem comercial e para ser
52
- compatível com os diversos outros dialetos Lisp dos quais derivou.
41
+ Common Lisp é uma linguagem multi-paradigma pertencente a família de
42
+ linguagems de programação Lisp. Suporta os paradigmas de programação
43
+ funcional, procedural e orientado a objetos.
44
+
45
+ No início dos anos 80, existiam dezenas de implementações Lisp
46
+ incompatíveis, com cerca de meia dúzia de dialetos principais. Um
47
+ projeto foi iniciado, liderado por Scott Fahlman, Daniel Weinreb,
48
+ David Moon, Guy Steele e Richard Gabriel, para definir um Lisp comum
49
+ que combinaria as melhores características dos dialetos existentes em
50
+ um todo coerente.
51
+
52
+ A primeira edição do padrão Common Lisp apareceu em 1984; um padrão
53
+ revisado apareceu em 1990. O padrão ANSI Common Lisp foi lançado em
54
+ 1994 e revisado em 2004. Common Lisp tornou-se rapidamente o Lisp
55
+ escolhido em ambientes acadêmicos e industriais. Os outros dialetos
56
+ praticamente desapareceram, com exceção do Scheme, que continua a
57
+ desfrutar de uma popularidade modesta para aplicações educacionais.
58
+
59
+ Muitas das idéias mais importantes nos sistemas de programação
60
+ surgiram em conexão com Lisp. Estas incluem a combinação de funções
61
+ interpretadas e compiladas, coleta de lixo, chamadas de função
62
+ recursiva, rastreamento e depuração no nível de
63
+ código-fonte. Atualmente, Lisp é uma linguagem líder para pesquisa
64
+ sofisticada sobre estilos de programação funcional, paralelo e
65
+ orientada a objetos. Além de ser também uma grande referência para
66
+ Computação Quântica, assim como tem sido usado comercialmente em
67
+ softwares como [[http://www.schloerconsulting.com/quantum-computer-q-lisp-programming-language][QLisp Project]].
53
68
54
69
#+BEGIN_SRC lisp
70
+ (defun range (a b)
71
+ (loop for x from a to b
72
+ collect x))
73
+
74
+ (defun fact (n)
75
+ (reduce #'* (range 1 n)))
55
76
56
77
(defun hello-world () ;; definição de função
57
- (princ "Hello, Lispers!" ))
78
+ (format t "Fatorial de 10! é: ~a" (fact 10) ))
58
79
59
80
(hello-world) ;; chamada de função
60
81
61
- ;; resultado: Hello, Lispers!
82
+ ;; resultado: Fatorial de 10! é: 3628800
62
83
#+END_SRC
0 commit comments