mister
Índice
Conceitos Básicos
Funções e predicados numéricos
Funções sobre pares e listas
Constantes, variáveis e atribuições
Formas especiais
Definição de funções
Recursão
Rastreio de funções
Exercícios
Tipos de parâmetros formais
Tabelas
Ciclos
Estruturas
Funções de ordem superior
Closures (ambientes léxicos)
%---------------------------Referências bibliograficas:
* Paul Graham, Ansi Common Lisp, Prentice Hall, 1996. Livro com descrição da linguagem Common-Lisp.
* António Leitão, Introdução à Linguagem Lisp. Disponível na página da cadeira. Folhas com descrição parcial da linguagem Common-Lisp.
* Hyperspec. Descrição detalhada da linguagem Common-Lisp.
%----------------------------
%---------------------------Conceitos Básicos
%---------------------------Common-Lisp funciona num ciclo de read-eval-print: leitura de expressões, avaliação de expressões, escrita de resultados.
Durante a leitura de uma expressão, se o interpretador encontrar um ponto e vírgula (;), ignora o texto até ao fim da linha. Se encontrar #|, ignora o texto até |#.
Avaliação de expressões é feita de acordo com um conjunto de regras, que se apresentam a seguir de forma simplificada:
;- Números
;Há uma enorme variedade de números em Common-lisp. Avaliam-se para
;eles próprios.
> 1
1
> 12345425425369906840
12345425425369906840
> 3.14159
3.14159
;- Caracteres
;Escrevem-se com o prefixo "#\" e avaliam-se para eles próprios.
> #\z
#\z
> #\space
#\space
;- Strings
;Escrevem-se entre aspas (") e avaliam-se para elas próprias.
> "teste"
"teste"
;- Símbolos (diferente do SCHEME)
;São estruturas com os campos: nome (uma string); valor;
;função; lista de propriedades; e package. Componentes acessíveis
;através das funções symbol-name, symbol-value, symbol-function,
;symbol-plist e symbol-package.
;O resultado de avaliar um símbolo é o symbol-value do símbolo.
;constantes t e nil: símbolos pré-definidos cujo valor é o