You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: index.org
+29-16Lines changed: 29 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,34 +15,44 @@ issue no repositório desta página]].
15
15
* Conceitos e Fundamentos
16
16
** O que é Lisp?
17
17
18
-
Dialetos Lisp (abreviação de **LISt Processing**, processamento de
19
-
listas) têm uma sintaxe singular simplificada para denotar, listas e
18
+
Dialetos Lisp [fn:1] têm uma sintaxe singular simplificada para denotar, listas e
20
19
símbolos, que podem ou não estarem associados a valores e/ou
21
20
procedimentos. Na linguagens da família Lisp, há a peculiaridade de
22
21
existir uma linha muito tênue de separação entre dados e procedimentos
23
-
quando seu código é produzido (na realidade, é possível produzir
24
-
código a partir de dados e vice-versa). Uma das características
25
-
forte da linguagem é o uso da [[https://pt.wikipedia.org/wiki/Nota%25C3%25A7%25C3%25A3o_polonesa][notação polonesa]] onde simplifica
26
-
de uma maneira sem ambiguidade operações e operandos.
22
+
no código-fonte. Na realidade, é possível produzir código a partir de
23
+
dados e vice-versa! Uma das características fortes da linguagem é o
24
+
uso da [[https://pt.wikipedia.org/wiki/Nota%25C3%25A7%25C3%25A3o_polonesa][notação polonesa]] onde simplifica a sintaxe da linguagem de uma
25
+
maneira sem acrescentar ambiguidades: operações e operandos são
26
+
denotados de forma explícita em sua ordem de precedência no uso de
27
+
listas.
28
+
29
+
#+BEGIN_SRC lisp
30
+
31
+
(operacao operando1 operand2)
32
+
(+ 1 2) ;; => 3
33
+
34
+
#+END_SRC
27
35
28
36
Esta família de linguagens foi desenhada para abstrair a complexidade
29
37
do hardware de um computador, criando uma interface para que um humano
30
38
possa se comunicar de maneira expressiva com a máquina. O primeiro
31
39
Lisp denotado historicamente por [[https://pt.wikipedia.org/wiki/Lisp][LISP]] foi criado por [[https://pt.wikipedia.org/wiki/John_McCarthy][John McCarthy]] em
32
40
1958 nos laboratórios do MIT, USA.
33
41
42
+
[fn:1] Lisp é uma abreviação de **LISt Processing**, processamento de listas.
34
43
35
44
** O que é Common Lisp?
36
45
37
46
Common Lisp é uma implementação específica da linguagem de programação
38
-
Lisp multi-paradigma que suporte programação funcional, orientação a
39
-
objetos e por vezes funcional. Foi criada por Guy L. Steele
40
-
nos anos '80 com o intuito de combinar aspectos de diversos
41
-
dialetos anteriores, incluindo Scheme.
42
-
43
-
Em 1994 foi publicada no padrão [[http://cvberry.com/tech_writings/notes/common_lisp_standard_draft.html][ANSI Information Technology -
44
-
Programming Language - Common Lisp, registro X3.226-1994 (R1999)]] É bem
45
-
maior e semanticamente mais complexa que Scheme uma vez que foi
47
+
Lisp multi-paradigma! Suporte programação procedural, orientação a
48
+
objetos e por vezes o paradigma funcional como é comum em todos os
49
+
Lisps por sua próxima relação a natureza do Cálculo Lambda.
50
+
51
+
Foi criada por Guy L. Steele nos anos '80 com o intuito de combinar
52
+
aspectos de diversos dialetos anteriores, incluindo Scheme. Em 1994
53
+
foi publicada no padrão [[http://cvberry.com/tech_writings/notes/common_lisp_standard_draft.html][ANSI Information Technology - Programming
54
+
Language - Common Lisp, registro X3.226-1994 (R1999)]]. Common Lisp é
55
+
bem maior e semanticamente mais complexa que Scheme uma vez que foi
46
56
projetada para ser uma linguagem comercial e ser compatível com os
47
57
diversos dialectos Lisp dos quais derivou.
48
58
@@ -68,11 +78,14 @@ diversos dialectos Lisp dos quais derivou.
68
78
** Documentação e tutoriais
69
79
70
80
- [[http://bnmcgn.github.io/lisp-guide/lisp-exploration.html][Common Lisp REPL Exploration Guide]], um guia interessantíssimo sobre
71
-
a exploração de Common Lisp pelo [[https://en.wikipedia.org/wiki/Read%25E2%2580%2593eval%25E2%2580%2593print_loop][REPL]].
0 commit comments