Terminologia

  • No mundo de Common Lisp, um package (pacote) é uma forma de agrupar símbolos e prover encapsulamento. É similar a um namespace de C++, um module (módulo) de Python ou a um package de Java.

  • Um system (sistema) é uma coleção de códigos-fonte de CL, agrupados com um arquivo .asd que informa como compilá-los e carregá-los. Às vezes, há um relacionamento próximo entre systems e packages, mas isto não é algo obrigatório. Um system pode declarar uma dependência por outro system. Systems são gerenciados pelo ASDF (Another System Definition Facility), que oferece funcionalidades similares ao make e ao ld.so, e se tornou um padrão.

  • Uma library (biblioteca) ou um project (projeto) de Common Lisp normalmente consiste de um ou vários systems ASDF (e é distribuído como um project Quicklisp).