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