The symbol-package-name of a symbol,
but not
This function is just symbol-package-name,
except that it never returns
Example:
ACL2 !>(symbol-package-name-non-cl 'car) "ACL2" ACL2 !>(symbol-package-name 'car) "COMMON-LISP" ACL2 !>
This utility may be useful to obtain, from an existing symbol,
a package name into whose package we want to intern a symbol
for a new function name,
which cannot be interned into the
Function:
(defun symbol-package-name-non-cl (sym) (declare (xargs :guard (symbolp sym))) (let ((__function__ 'symbol-package-name-non-cl)) (declare (ignorable __function__)) (fix-pkg (symbol-package-name sym))))
Theorem:
(defthm stringp-of-symbol-package-name-non-cl (b* ((pkg (symbol-package-name-non-cl sym))) (stringp pkg)) :rule-classes :rewrite)