Ambiente de Desenvolvimento para Common Lisp: Emacs + SBCL + CMUCL + Quicklisp + utilitários. Parte VI: Instalação do Quicklisp

O Quicklisp é um gerenciador de bibliotecas que funciona com diversas implementações do Common Lisp (ABCL, Allegro CL, Clasp, Clozure CL, CLISP, CMUCL, ECL, LispWorks, MKCL, SBCL e Scieneer CL). Basicamente com o Quicklisp podemos fazer o download, instalação e uso de mais de 1.500 bibliotecas Lisp prontas para uso. O Quicklisp funciona mais ou menos como um gerenciador de pacotes (apt ou yum, por exemplo).

A instalação é bem simples: basta fazer o download de um arquivo e usar uma distribuição Lisp para instalar. Como temos duas distribuições instaladas, a SBCL e a CMUCL, faremos duas instalações diferentes.

1. Antes de instalar o Quicklisp

Fizemos a instalação do SBCL (ver Parte IV) e do CMUCL (ver parte V) mas não configuramos nenhum arquivo de inicialização: ~/.sbclrc para o SBCL e ~/.cmucl-init.lisp para o CMUCL. É importante ter esses arquivos agora, pois serão utilizados para carregar o Quicklisp.

O CMUCL disponibiliza um modelo que pode ser alterado. Se você seguiu a instalação conforme esta série de artigos, basta fazer (NÃO faça isso se você já tem um arquivo com configurações próprias):

cp /opt/cmucl/lib/cmucl/lib/generic-site.lisp ~/.cmucl-init.lisp

Você não precisa alterar nada nesse arquivo no momento, exceto talvez colocar o seu nome nas linhas 18 e 19:

Parte do arquivo ~/.cmucl-init.lisp

Para o SBCL só precisamos criar um arquivo vazio:

touch ~/.sbclrc

Obviamente você pode configurar várias outras coisas nesses arquivos de inicialização mas, para nosso propósito de instalar o Quicklisp, isso basta.

2. Download e instalação

Faça o download do arquivo de instalação do Quicklisp:

wget https://beta.quicklisp.org/quicklisp.lisp

Agora vamos instalar o Quicklisp. Eu gosto de fazer duas instalações separadas do Quicklisp, uma para o SBCL e outra para o CMUCL, cada uma em diretórios específicos. Com o download feito agora basta instalar.

2.1. Instalação para o SBCL

Vamos instalar o Quicklisp para o SBCL no diretório oculto ~/.quicklisp_sbcl. Para isso vamos iniciar o SBCL carregando o arquivo de instalação do Quicklisp:

sbcl --load quicklisp.lisp

O SBCL carregará o arquivo de instalação do Quicklisp. Você verá algo assim:

Basta digitar, no prompt do SBCL, o seguinte:

(quicklisp-quickstart:install :path ".quicklisp_sbcl/")

O comando acima fará a instalação do Quicklisp. Depois de alguns segundos você receberá uma mensagem de que a instalação foi concluída:

Agora, ainda no prompt do SBCL, digite:

(ql:add-to-init-file)

O comando acima acrescentará um código no arquivo ~/.sbclrc para carregar o Quicklisp toda vez que o SBCL for iniciado. Você verá o seguinte:

Pronto! Agora o Quicklisp foi instalado e o SBCL configurado para carregá-lo sempre que for inciado. Para comprovar se tudo está funcionando corretamente, basta sair do SBCL, entrar novamente e tentar usar o Quicklisp:

O comando ql:system-apropos, do Quicklisp, já está disponível no SBCL

O conteúdo do arquivo ~/.sbclrc agora é o seguinte:

OK, o Quicklisp já está configurado para o SBCL!

2.2. Instalação para o CMUCL

Vamos instalar o Quicklisp para o CMUCL no diretório oculto ~/.quicklisp_cmucl. Para isso vamos iniciar o CMUCL carregando o arquivo de instalação do Quicklisp:

cmucl -load quicklisp.lisp

O comando acima carregará o Quicklisp no CMUCL. Você verá várias mensagens de compilação e, ao final, dizendo que está tudo pronto para fazer a instalação:

Basta digitar, no prompt do CMUCL, o seguinte:

(quicklisp-quickstart:install :path ".quicklisp_cmucl/")

O comando acima fará a instalação do Quicklisp. Depois de alguns segundos você receberá uma mensagem de que a instalação foi concluída. Depois basta digitar, ainda no prompt do CMUCL, o comando:

(ql:add-to-init-file)

O comando acima acrescentará um código no arquivo ~/.cmucl-init.lisp para carregar o Quicklisp toda vez que o CMUCL for iniciado. Você verá o seguinte:

Pronto! Agora o Quicklisp foi instalado e o CMUCL configurado para carregá-lo sempre que for inciado. Para comprovar se tudo está funcionando corretamente, basta sair do CMUCL, entrar novamente e tentar usar o Quicklisp:

OK, o Quicklisp já está configurado para o CMUCL!

3 Aprendendo a usar o Quicklisp

O Quicklisp é muito útil e nos poupa muito tempo procurando bibliotecas para Common Lisp. Aprenda a utilizá-lo lendo a documentação no site oficial.

Não se esqueça de atualizar o Quicklisp de tempos em tempos (faça isso para o SBCL e também para o CMUCL):

(ql:update-dist "quicklisp")

(ql:update-client)

Se tudo estiver atualizado você verá o seguinte:

Agora nós temos o Emacs instalado e configurado, as distribuições SBCL e CMUCL instaladas e prontas, incluindo o Quicklisp. Aogra temos que fazer o Emacs usar essas distribuições. Faremos isso através do SLIME! Não perca os próximos artigos da série.


Este artigo foi publicado originalmente em 2021-10-13, no meu site pessoal: www.abrantes.pro.br.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *