

The Complete Idiot's Guide to Common Lisp Packages [pdf] - uros643
http://www.flownet.com/gat/packages.pdf

======
zachbeane
This guide refers to outdated and obsolete concepts from CLtL1. I'd recommend
reading [http://www.gigamonkeys.com/book/programming-in-the-large-
pac...](http://www.gigamonkeys.com/book/programming-in-the-large-packages-and-
symbols.html) from Practical Common Lisp or just the relevant portions of the
spec at <http://l1sp.org/cl/11.1.1> \- it's pretty readable. One non-
recommended approach: guess and be disappointed when your intuition doesn't
match how it actually works.

------
chalst
Something worth appreciating is that one of the key motives for incorporating
packages into CL were to avoid problems due to non-hygienic macro expansion,
because they make the discipline of writing programs that avoid inadvertent
capture much easier.

It's not quite true to say that packages are to Common Lisp what hygiene is to
Scheme, but it is a large part of it. I'd like this paper a little bit more if
it had said something about this, but the final thought that _Packages control
how the reader maps strings onto symbols (and how PRINT maps symbols onto
strings), nothing else._ is I think helps appreciate the point.

