Conheça

Inicie

Aprenda

Participe

Editar Menu

FAQ

Que implementação de Common Lisp eu devo usar?

Existem várias implementações de alta qualidade, tanto livres quanto comerciais. A distribuição a ser escolhida vai depender da sua necessidade. Clisp é uma boa distribuição para começar porque roda em várias plataformas.

Usuários de Macintosh podem utilizar o OpenMCL, uma implementação muito popular para esta plataforma.

Quem deseja uma implementação com alto desempenho, o SBCL é uma ótima opção. Esta implementação possui suporte para processadores de 64 bits e está disponível para diversas plataformas.

Existem também implementações comerciais que oferecem recursos extras, como editores visuais de formulários e geração de executáveis. Porém, além da questão técnica o preços dessas implementações deve ser levado em conta:

Nome

Preço

Allegro CL

US$ 1,300 (Professional)

LispWorks

Apartir de US$ 599

CormanLisp

US$ 249

O Allegro CL ofere muitos recursos avançados, porém a Franz Inc cobra um valor, à ser negociado, para permitir a distribuição do run-time do Allegro junto com a aplicação que você venha a desenvolver.

Com o tempo você vai poder determinar qual a implementação mais adequada.

Que implementação de Scheme eu devo usar?

A resposta para a pergunta anterior se encaixa aqui também. PLT Scheme é uma excelente implementação para começar, mas outras como Chicken, MIT/GNU Scheme e Guile são excelentes.

Como instalar uma biblioteca no Windows?

Antes de mais nada é preciso carregar o ASDF:

(load "asdf.lisp")

Muitas distribuições já vem com o ASDF (SBCL por exemplo), mas caso a sua distribuição não o inclua é só baixar.

Em seguida baixe o pacote na qual esta interessado, por exemplo o split-sequence.

Descompacte o pacote no diretório que vc preferir, por exemplo C:\asdf.

Em seguida adicione o novo pacote ao registro de pacotes do ASDF:

(pushnew #p"c:/asdf/split-sequence" asdf:*central-registry*)

Por fim é só compilar e carregar o novo pacote:

(asdf:oos 'asdf:compile-op :split-sequence)
(asdf:oos 'asdf:load-op :split-sequence)

PS: Testado no CLISP.