

(DEFPROP PRINTTABLE
 (PRINTTABLE
  (MK-NULLTYP /.)
  (MK-INTTYP int)
  (MK-BOOLTYP bool)
  (MK-TOKTYP tok)
  (MK-TERMTYP term)
  (MK-FORMTYP form)
  (MK-TYPETYP type)
  (MK-THMTYP thm)
  (MK-VARTYP 1)
  (MK-CONSTTYP
   (COND ((NULL (CDDR %EX)) (PRINC (CADR %EX)))
	 ((NULL (CDDDR %EX)) (%PP (CADDR %EX)) (PRINC (CADR %EX)))
	 (T (%PPL (CDDR %EX) (QUOTE /() (QUOTE /,) (QUOTE /)))
	    (PRINC (CADR %EX)))))
  (MK-LISTTYP 1 list)
  (MK-PRODTYP /( 1 # 2 /))
  (MK-SUMTYP /( 1 + 2 /))
  (MK-FUNTYP /( 1 -> 2 /))
  (MK-BOOLCONST
   (PRINC (COND ((CADR %EX) (QUOTE true)) (T (QUOTE false)))))
  (MK-INTCONST 1)
  (MK-TOKCONST ` 1 `)
  (MK-TYQUOT /" : (PRINC PPSYM) /")
  (MK-QUOT /" (PRINC PPSYM) /")
  (MK-VAR 1)
  (MK-FAIL fail)
  (MK-FAILWITH failwith /  1)
  (MK-EMPTY /(/))
  (MK-DUPL /( 1 /, 2 /))
  (MK-LIST (%PPL (CDR %EX) (QUOTE /[) (QUOTE ;) (QUOTE /])))
  (MK-STRAINT /( 1 : 2 /))
  (MK-APPN /( 1 /  2 /))
  (MK-BINOP /(
	    2
	    (PRINC
	     (COND ((EQ (CADR %EX) (QUOTE %&)) (QUOTE &))
		   ((EQ (CADR %EX) (QUOTE %or)) (QUOTE " or "))
		   (T (CADR %EX))))
	    3
	    /))
  (MK-UNOP (COND ((EQ (CADR %EX) (QUOTE %-)) (PRINC (QUOTE -)))
		 (T (PRINC (CADR %EX)) (PRINC (QUOTE / ))))
	   2)
  (MK-DO do 1)
  (MK-SEQ
   (%PPL (APPEND (CADR %EX) (CDDR %EX))
	 (QUOTE / )
	 (QUOTE ;)
	 (QUOTE / )))
  (MK-ASSIGN 1 := 2)
  (MK-TEST (TESTTRAPFN T (CDR %EX)))
  (MK-TRAP 1 (TESTTRAPFN NIL (CDDR %EX)))
  (MK-ABSTR /( \ 1 /. 2 /))
  (MK-IN 1 / in/  2)
  (MK-IND 1 / in/  2)
  (MK-INA 1 / in/  2)
  (MK-LET let/  1 / =/  2)
  (MK-LETREC letrec /  1 / =/  2)
  (MK-LETREF letref /  1 / =/  2)
  (MK-DEFTYPE lettype /  (PRINC PPSYM))
  (MK-ABSTYPE abstype /  (PRINC PPSYM))
  (MK-ABSRECTYPE absrectype /  (PRINC PPSYM))
  (MK-BEGIN begin/  1)
  (MK-END end/  1))
VALUE)
