Я делаю все назначения в пространстве имен пользователя.
user> (def *foo 10)
#'user/*foo
;; Для просмотра всех общедоступных внутренних сопоставлений в пространстве имен пользователя.
user> (ns-publics 'user)
{*foo #'user/*foo}
Теперь давайте определим функцию, которая не является публичной
user> (defn- foobar[x]
(println x)
#'user/foobar
При вызове функции ns-publics. Он не будет отображать функцию foobar в отображениях.
user> (ns-publics 'user)
{*foo #'user/*foo}
Чтобы просмотреть внутренние сопоставления для пространства имен. Используйте (ns-interns 'YOUR-NAMESPACE)
user> (ns-interns 'user)
{foobar #'user/foobar, *foo #'user/*foo}