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