Почему не используемые символы используются для имен пакетов и экспорта в Common Lisp?
Вскриншот в общем списке автор использует неустранимые символы для имен пакетов и экспорта.
(defpackage #:foo
(:use :cl)
(:export #:bar
#:baz))
(in-package #:foo)
Он также использует острый знак перед анонимными функциями.
(defun transposed (m)
(make-instance 'matrix
:rows (matrix-cols m)
:cols (matrix-rows m)
:generator #'(lambda (i j) (matrix-at m j i))))
В книгеПрактический Лисп насколько я читал, острый знак не используется для имен пакетов и экспорта.
В чем причина использования нестрогих символов (острого знака) в этих случаях?