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