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