Common LISP. The Language. Second Edition