(defstruct (table (:print-function table-print)) name columns class (cautions (make-caution)) (all (make-counted))) (defun table-print (tbl s depth) (declare (ignore depth)) (format s "#(TABLE~%~T:NAME ~a~%~T:COLUMNS ~a~%~T :CLASS ~a~%~T :CAUTIONS~a~%~T :ALL ~a~T)" (table-name tbl) (table-columns tbl) (table-class tbl) (table-cautions tbl) (table-all tbl))) (defun table-copy (tbl &optional (new (table-egs tbl))) (data :egs new :name (table-name tbl) :klass (table-class tbl) :columns (columns-header (table-columns tbl))))