Uma das principais vantagens de ser uma linguagem com mais de 50 anos é a quantidade de documentação em torno de Lisp. No meio de tantas referências, é difícil escolher uma para começar. Se puder dar uma dica, inicie pelo livro que todo cientista da computação deveria ler: SICP, disponível online gratuitamente.
Livros online
SICP. O livro que todo o cientista da computação deveria ler
- Dorai Sitaram, "Teach Yourself Scheme in Fixnum Days"
- Abelson e Sussman, "Structure and Interpretation of Computer Programs" (SICP) -- usado até 2008 no primeiro curso de programação do MIT. Ainda usado em outras universidades como curso inicial de programação (na Universidade da Califórnia em Berkeley e na Caltech, por exemplo). Para um primeiro curso de programação, ele vai muito longe, e tem exercícios bastante difíceis. No site do Neil van Dyke há uma versão no formato texinfo
- How to Design Programs -- Escrito como alternativa ao SICP (de Abelson e Sussman, do MIT). Usado no curso introdutório de programação da Rice University.
- Simply Scheme: Introducing Computer Science
- Concrete Abstractions -- introdução à Ciência da Computação através de Scheme
- Kent Dybvig, "The Scheme Programming Language" terceira edição (cobre R5RS), e quarta edição (cobre R6RS)
- An Introduction to Scheme and its Implementation
- Programming Languages: Application and Interpretation -- Um livro sobre características de linguagens de programação que segue a abordagem de ensinar como implementar tais características, usando Scheme. Segue portanto o mesmo princípio do Essentials of Programming Languages, mas está disponível online.
- Nils Holm, Sketchy Lisp -- uma ótima introdução ao Scheme. O Nils tem outros livros disponíveis em seu site, além de uma implementação didática de Scheme
Atualmente (julho de 2009) existe um grupo dedicado a estudar o Structure and Interpretation of Computer Programs que pode ser encontrado em http://code.google.com/p/eipc/
Livros não disponíveis online
Introdutórios:
- Programação Em Scheme - Introdução A Programação Utilizando Múltiplos Paradigmas, de João Pavão Martins e Maria dos Remédios Cravo. IST Press, Portugal, 2ª edição, 2007. Foi elaborado para a primeira disciplina de programação do Instituto Superior Técnico em Portugal. O livro não pressupõe qualquer conhecimento sobre programação, e não aborda tópicos avançados que seriam de difícil apreensão por alunos que acabam de tomar contato com programação de computadores (por exemplo macros, fechos léxicos, continuações e avaliação preguiçosa). Há muitas idéias semelhantes às apresentadas no livro de Abelson e Sussman.
Para quem já sabe Scheme:
- Daniel Friedman e Mitchell Wand, "Essentials of Programming Languages" -- um estudo sistemático de características de linguagens de programação, usando Scheme.
- Christian Queinnec, "Lisp in Small Pieces" -- Descreve como implementar seu próprio Lisp (o texto do livro dá exemplos em Scheme)