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