Basic constructor macro for dirabsdeclor-array structures.
(make-dirabsdeclor-array [:declor? <declor?>]
[:qualspecs <qualspecs>]
[:size? <size?>])
This is the usual way to construct dirabsdeclor-array structures. It simply conses together a structure with the specified fields.
This macro generates a new dirabsdeclor-array structure from scratch. See also change-dirabsdeclor-array, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-dirabsdeclor-array (&rest args) (std::make-aggregate 'dirabsdeclor-array args '((:declor?) (:qualspecs) (:size?)) 'make-dirabsdeclor-array nil))
Function:
(defun dirabsdeclor-array (declor? qualspecs size?) (declare (xargs :guard (and (dirabsdeclor-optionp declor?) (typequal/attribspec-listp qualspecs) (expr-optionp size?)))) (declare (xargs :guard t)) (b* ((declor? (mbe :logic (dirabsdeclor-option-fix declor?) :exec declor?)) (qualspecs (mbe :logic (typequal/attribspec-list-fix qualspecs) :exec qualspecs)) (size? (mbe :logic (expr-option-fix size?) :exec size?))) (cons :array (cons declor? (cons qualspecs size?)))))