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