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