Трудно найти подходящее название, потому что я не понимаю, почему у меня возникает следующая проблема.
Когда я require
свой пакет, я хотел бы назначить определенную функцию в соответствии с некоторыми пакетами. Идея состоит в том, чтобы установить переменную следующим образом:
(cond ((find-package 'foo) (setf *special-function* #'foo:foo-function))
((find-package 'bar) (setf *special-function* #'bar:bar-function))
(t (warn "The package FOO or BAR is required to enable the special function.")))
Затем оценка этого фрагмента кода возвращает:
There is no package named "FOO"
с БКЛ
Package FOO does not exist
с SBCL
Основная причина, по которой я хочу это сделать, заключается в том, что существуют разные пакеты, обеспечивающие одну и ту же функцию, и я хочу, чтобы пользователь мог сделать свой собственный выбор, загрузив пакет FOO или BAR (с предпочтением в соответствии с порядком в пункты условий).