¿Por qué se utilizan símbolos no intercalados para nombres de paquetes y exportaciones en Common Lisp?
En unscreen cast en la Lista Común, el autor usa símbolos no intercalados para los nombres de paquetes y exportaciones.
(defpackage #:foo
(:use :cl)
(:export #:bar
#:baz))
(in-package #:foo)
También usa el signo agudo frente a funciones anónimas.
(defun transposed (m)
(make-instance 'matrix
:rows (matrix-cols m)
:cols (matrix-rows m)
:generator #'(lambda (i j) (matrix-at m j i))))
En el libroPractical Common Lisp el signo agudo no se usa para nombres de paquetes y exportaciones hasta donde yo he leído.
¿Cuál es la razón para usar los símbolos no internados (el signo agudo) en estos casos?