Conteúdo • Construa seu Próprio Lisp
- Sobre
- Para quem é este livro
- Por que aprender C
- Como aprender C
- Por que construir um Lisp
- Seu próprio Lisp
- Configuração
- Editor de texto
- Compilador
- Hello World
- Compilação
- Erros
- Documentação
- Visão Geral
- Programas
- Variáveis
- Declarações de funções
- Declarações de estruturas
- Apontadores (pointers ou ponteiros)
- Strings
- Condicionais
- Laços
- Leia, Avalie, Imprima
- Um prompt interativo
- Compilação
- Editando a entrada
- O pré-processsador C
- O que é uma linguagem de programação?
- Parser Combinators
- Codificando gramáticas
- Gramáticas naturais
- Notação Polonesa
- Expressões Regulares
- Instalando mpc
- Gramática para notação polonesa
- Analisando a entrada
- Árvores
- Recursão
- Avaliação
- Impressão
- Crashes
- Valor Lisp
- Enumerações
- Funções de valor Lisp
- Avaliando erros
- Encanamento
- Listas e Lisps
- Apontadores
- O Stack & O Heap
- Parsing Expressions
- Estrutura da Expressão
- Construtores & Destrutores
- Lendo Expressões
- Imprimindo Expressões
- Avaliando Expressões
- Adicionando Recursos
- Quoted Expressions
- Lendo Q-Expressions
- Funções Builtins
- Primeira Tentativa
- Macros
- Busca de Builtins
- Imutabilidade
- Apontador para função
- Tipos Cíclicos
- Tipo Função
- Ambiente
- Avaliação de Variáveis
- Builtins
- Função Define
- Comunicando erros
- O que é uma Função?
- Tipo Função
- Função Lambda
- Ambiente Pai
- Chamando Funções
- Argumentos Variáveis
- Funções Interessantes
- Fazendo você mesmo
- Ordenação
- Igualdade
- Função If
- Funções recursivas
- Bibliotecas
- Tipo String
- Lendo Strings
- Comentários
- Função Load
- Argumentos da Linha de Comando
- Função Print
- Função Error
- Finalizando
- Minimalismo
- Átomos
- Blocos de Construção
- Operadores Lógicos
- Funções Variadas
- Funções de Lista
- Funções Condicionais
- Fibonacci
- Apenas o Começo
- Tipos Nativos
- Tipos Definidos pelo Usuário
- Literal para Listas
- Interação com Sistema Operacional
- Macros
- Tabela Hash de Variáveis
- Alocação com Pool
- Coleta de Lixo
- Otimização de Chamada em Cauda (Tail Call Optimisation)
- Escopo Léxico
- Tipagem Estática
- Conclusão