Instalando uma implementação

com seu gerenciador de pacotes

TL;DR:

apt-get install sbcl

Common Lisp foi padronizado através de um documento ANSI, então ele pode ser implementado de diversas formas; veja a lista de implementações da Wikipédia.

As implementações a seguir são empacotadas para o Debian e provavelmente também para a sua distro:

Em dúvida, apenas use o SBCL.

Veja também:

e este pacote Debian para Clozure CL.

com Roswell

Roswell é:

  • um gerenciador de implementações: torna mais fácil instalar uma implementação de Common Lisp (ros install ecl), uma exata versão de uma implementação (ros install sbcl/1.2.0), e mudar para uma implementação padrão (ros use ecl);
  • um ambiente de scripting (ajuda a executar Lisp através do shell, obter argumentos de linha de comando, ...);
  • um instalador de scripts;
  • um ambiente para testes (para executar testes, incluindo em plataformas populares de Integração Contínua);
  • uma ferramenta de compilação (para compilar imagens e executáveis de forma portátil).

Você encontrará diversas formas de instalação na Wiki do Roswell (pacote Debian, instalador Windows, Brew/Linux Brew, etc).

com Docker

Se você já conhece o Docker, você pode começar a usar Common Lisp rapidamente. A imagem daewok/lisp-devel-docker inclui as versões recentes de SBCL, CCL, ECL e ABCL, além de Quicklisp instalado na pasta home (/home/lisp) para que possamos executar ql:quickload logo de cara.

Funciona em GNU/Linux, Mac e Windows.

O comando a seguir baixará a imagem requerida (mais ou menos 400MB), colocará seus arquivos de código locais dentro da imagem Docker, onde indicado, e mostrará o REPL do SBCL:

docker run --rm -it -v /path/to/local/code:/usr/local/share/common-lisp/source daewok/lisp-devel:base sbcl`

Mas nos ainda queremos desenvolver usando Emacs e Slime, então precisamos conectar o Slime ao Lisp dentro do Docker. Veja slime-docker para uma biblioteca que o ajudará a configurar isto.