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
+3-163
Original file line number
Diff line number
Diff line change
@@ -31,170 +31,10 @@ repositório desta página]].
31
31
- [[file:rules.html][Regras]]
32
32
33
33
* Conceitos e Fundamentos
34
-
** O que é Lisp?
35
-
36
-
Lisp é uma família de linguagens de programação de computadores com
37
-
uma longa história e tradição. O primeiro Lisp denotado historicamente
38
-
por [[https://pt.wikipedia.org/wiki/Lisp][LISP]] foi criado por [[https://pt.wikipedia.org/wiki/John_McCarthy][John McCarthy]], em 1958, nos laboratórios de
39
-
inteligência artificial do MIT, USA., Lisp é a segunda linguagem de
40
-
programação de alto nível mais antiga ainda em uso atualmente, advinda
41
-
antes mesmo da própria Internet (somente Fortran é mais antiga). Desde
42
-
sua origem, Lisp se tornou rapidamente a linguagem favorita para
43
-
Inteligência Artificial.
44
-
45
-
Dialetos Lisp [fn:1] têm uma sintaxe singular simplificada para
46
-
denotar, listas e símbolos, que podem ou não estarem associados a
47
-
valores e/ou a procedimentos. Na linguagens da família Lisp, há a
48
-
peculiaridade de existir uma linha muito tênue de separação entre
49
-
dados e procedimentos no código-fonte. Na realidade, é possível
50
-
produzir código a partir de dados e vice-versa! Uma das
51
-
características fortes da linguagem é o uso da [[https://pt.wikipedia.org/wiki/Nota%25C3%25A7%25C3%25A3o_polonesa][notação polonesa]], que
52
-
simplifica a sintaxe da linguagem, de forma a previnir ambiguidades:
53
-
operações e operandos são denotados de forma explícita, em sua ordem
54
-
de precedência, no uso de listas.
55
-
56
-
#+BEGIN_SRC lisp
57
-
58
-
(operação operando-1 operando-2)
59
-
(+ 1 2) ;; => 3
60
-
61
-
#+END_SRC
62
-
63
-
Esta família de linguagens foi desenhada para abstrair a complexidade
64
-
do hardware de um computador, criando uma interface para que um humano
65
-
possa se comunicar de maneira expressiva com a máquina. Influenciada
66
-
pela linguagem de computação teórica Lambda Calculus de Alonzo Church,
67
-
atualmente os dialetos de Lisp de uso geral mais utilizados e
68
-
conhecidos são Common Lisp, Scheme e Clojure.
69
-
70
-
[fn:1] Lisp é uma abreviação de **LISt Processing**, processamento de listas.
71
-
72
-
** O que é Common Lisp?
73
-
74
-
Common Lisp é um dialeto multi-paradigma da linguagem de programação
75
-
Lisp. Suporta os paradigmas de programação procedural, orientado a
76
-
objetos e, inclusive, o funcional, comum a todos os
77
-
Lisps, por sua próxima relação com a natureza do Cálculo Lambda.
78
-
79
-
Foi criada por Guy L. Steele nos anos 80, com o intuito de combinar
80
-
aspectos de diversos dialetos anteriores, incluindo Scheme. Em 1994
81
-
foi publicada no padrão [[http://cvberry.com/tech_writings/notes/common_lisp_standard_draft.html][ANSI Information Technology - Programming
82
-
Language - Common Lisp, registro X3.226-1994 (R1999)]]. Common Lisp é
83
-
bem maior e semanticamente mais complexa que um dialeto como Scheme,
84
-
uma vez que foi projetada para ser uma linguagem comercial e para ser
85
-
compatível com os diversos outros dialetos Lisp dos quais derivou.
86
-
87
-
#+BEGIN_SRC lisp
88
-
89
-
(defun hello-world () ;; definição de função
90
-
(princ "Hello, Lispers!"))
91
-
92
-
(hello-world) ;; chamada de função
93
-
94
-
;; resultado: Hello, Lispers!
95
-
#+END_SRC
34
+
#+INCLUDE: subsections/index/conceitos-e-fundamentos.org :only-contents t
96
35
97
36
* Links de Aprendizado sobre Common Lisp
98
-
** Apresentação
99
-
100
-
- [[http://lisp-lang.org/][Site oficial de Common Lisp]], apresentação sobre a linguagem e seu poder.
101
-
- [[https://github.com/CodyReichert/awesome-cl][Awesome-CL]], uma lista imensa sobre frameworks e ferramentas para
102
-
Common Lisp.
103
-
- [[http://www.lisperati.com/casting.html][Lisperati Casting]], uma história em quadrinhos sobre a magia que é
104
-
programar em Lisp.
105
-
- [[http://www.avelino.xxx/hist%C3%B3ria-do-lisp-abra-os-olhos-para-programa%C3%A7%C3%A3o-funcional/][História do Lisp]], entenda como o Lisp começou e porque temos tantos dialetos.
106
-
107
-
** Documentação e tutoriais
108
-
109
-
- [[http://bnmcgn.github.io/lisp-guide/lisp-exploration.html][Common Lisp REPL Exploration Guide]], um guia interessantíssimo sobre
110
-
a exploração de Common Lisp pelo REPL [fn:2].
111
-
- [[https://lispcookbook.github.io/cl-cookbook/][Cookbook de Common Lisp]], atualmente com uma [[lisp.com.br/cl-cookbook][tradução para o Português em andamento]], feita pela comunidade.
112
-
Também inclui tutoriais sobre Quicklisp (veja a seção de Tooling).
- [Amazon] [[https://www.amazon.com.br/Land-Lisp-Learn-Program-Game-ebook/dp/B004AE3P4K/][Land of Lisp: Learn to Program in Lisp, One Game at a Time!]], por Conrad Barski
127
-
- [Amazon] [[https://www.amazon.com.br/Common-Lisp-Recipes-Problem-Solution-Approach-ebook/dp/B01JFTONBS/][Common Lisp Recipes: A Problem-Solution Approach]], por Edmund Weitz
- [[http://lisp-lang.org/][Site oficial de Common Lisp]], apresentação sobre a linguagem e seu poder.
4
+
- [[https://github.com/CodyReichert/awesome-cl][Awesome-CL]], uma lista imensa sobre frameworks e ferramentas para
5
+
Common Lisp.
6
+
- [[http://www.lisperati.com/casting.html][Lisperati Casting]], uma história em quadrinhos sobre a magia que é
7
+
programar em Lisp.
8
+
- [[http://www.avelino.xxx/hist%C3%B3ria-do-lisp-abra-os-olhos-para-programa%C3%A7%C3%A3o-funcional/][História do Lisp]], entenda como o Lisp começou e porque temos tantos dialetos.
9
+
10
+
* Documentação e tutoriais
11
+
12
+
- [[http://bnmcgn.github.io/lisp-guide/lisp-exploration.html][Common Lisp REPL Exploration Guide]], um guia interessantíssimo sobre
13
+
a exploração de Common Lisp pelo REPL [fn:2].
14
+
- [[https://lispcookbook.github.io/cl-cookbook/][Cookbook de Common Lisp]], atualmente com uma [[lisp.com.br/cl-cookbook][tradução para o Português em andamento]], feita pela comunidade.
15
+
Também inclui tutoriais sobre Quicklisp (veja a seção de Tooling).
- [Amazon] [[https://www.amazon.com.br/Land-Lisp-Learn-Program-Game-ebook/dp/B004AE3P4K/][Land of Lisp: Learn to Program in Lisp, One Game at a Time!]], por Conrad Barski
30
+
- [Amazon] [[https://www.amazon.com.br/Common-Lisp-Recipes-Problem-Solution-Approach-ebook/dp/B01JFTONBS/][Common Lisp Recipes: A Problem-Solution Approach]], por Edmund Weitz
Lisp é uma família de linguagens de programação de computadores com
4
+
uma longa história e tradição. O primeiro Lisp denotado historicamente
5
+
por [[https://pt.wikipedia.org/wiki/Lisp][LISP]] foi criado por [[https://pt.wikipedia.org/wiki/John_McCarthy][John McCarthy]], em 1958, nos laboratórios de
6
+
inteligência artificial do MIT, USA., Lisp é a segunda linguagem de
7
+
programação de alto nível mais antiga ainda em uso atualmente, advinda
8
+
antes mesmo da própria Internet (somente Fortran é mais antiga). Desde
9
+
sua origem, Lisp se tornou rapidamente a linguagem favorita para
10
+
Inteligência Artificial.
11
+
12
+
Dialetos Lisp [fn:1] têm uma sintaxe singular simplificada para
13
+
denotar, listas e símbolos, que podem ou não estarem associados a
14
+
valores e/ou a procedimentos. Na linguagens da família Lisp, há a
15
+
peculiaridade de existir uma linha muito tênue de separação entre
16
+
dados e procedimentos no código-fonte. Na realidade, é possível
17
+
produzir código a partir de dados e vice-versa! Uma das
18
+
características fortes da linguagem é o uso da [[https://pt.wikipedia.org/wiki/Nota%25C3%25A7%25C3%25A3o_polonesa][notação polonesa]], que
19
+
simplifica a sintaxe da linguagem, de forma a previnir ambiguidades:
20
+
operações e operandos são denotados de forma explícita, em sua ordem
21
+
de precedência, no uso de listas.
22
+
23
+
#+BEGIN_SRC lisp
24
+
25
+
(operação operando-1 operando-2)
26
+
(+ 1 2) ;; => 3
27
+
28
+
#+END_SRC
29
+
30
+
Esta família de linguagens foi desenhada para abstrair a complexidade
31
+
do hardware de um computador, criando uma interface para que um humano
32
+
possa se comunicar de maneira expressiva com a máquina. Influenciada
33
+
pela linguagem de computação teórica Lambda Calculus de Alonzo Church,
34
+
atualmente os dialetos de Lisp de uso geral mais utilizados e
35
+
conhecidos são Common Lisp, Scheme e Clojure.
36
+
37
+
[fn:1] Lisp é uma abreviação de **LISt Processing**, processamento de listas.
38
+
39
+
* O que é Common Lisp?
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.
0 commit comments