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