Basic constructor macro for symbol-value structures.
(make-symbol-value [:package <package>] [:name <name>])
This is the usual way to construct symbol-value structures. It simply conses together a structure with the specified fields.
This macro generates a new symbol-value structure from scratch. See also change-symbol-value, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-symbol-value (&rest args) (std::make-aggregate 'symbol-value args '((:package) (:name)) 'make-symbol-value nil))
Function:
(defun symbol-value (package name) (declare (xargs :guard (and (stringp package) (stringp name)))) (declare (xargs :guard t)) (let ((__function__ 'symbol-value)) (declare (ignorable __function__)) (b* ((package (mbe :logic (str-fix package) :exec package)) (name (mbe :logic (str-fix name) :exec name))) (list (cons 'package package) (cons 'name name)))))