Continuing with Lisp features the newcomer to the language might not have encountered is make-package. This is a function that is rarely called for, other than in its use in the implementation of the defpackage macro. You should use defpackage whenever that is appropriate. The make-package function is useful in defining new packages programmatically at run time, as opposed to the more common case of declaring and defining packages in the source code.