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