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