(==) (== is used to print all types of objects in a manner which can easily be read. The object to be printed is expected on the operand stack. == => -- ) ((!tab!) -1 .def pprint )/xdef (pprint) (pprint supports == and does all the printing) (.dup .type $ptypes .exch .get .exec)/xdef ($commands) .dup .where (.pop .pop) (.sysdict .maxlength .dict .def) /ifelse $commands .begin .sysdict (.dup .itype 7 .eq (.exch .def)(.pop .pop) /ifelse).cvx .dictforall .end ($ptypes) .dup .where (.pop .pop) (15 .dict .def) /ifelse $ptypes .begin (.nulltype)((nulltype -- no value)=).cvx .def (.integertype)((integertype -- value is: ) .print =).cvx .def (.longintegertype)((longintegertype -- value is: ) .print =).cvx .def (.realtype)((realtype -- value is: ) .print =).cvx .def (.booleantype)((booleantype -- value is: ) .print =).cvx .def (.stringtype)((stringtype -- value is: ) .print =).cvx .def (.streamtype)((streamtype -- no value)=).cvx .def (.commandtype)((commandtype -- value is: ) .print $commands .exch .get =).cvx .def (.dicttype)((dicttype -- length is: ).print .dup .length ( ).cvis .print ( maxlength is: ).print .maxlength =).cvx .def (.arraytype)(tabinc tabprint(array: )= (tabprint pprint).cvx .arrayforall tabdec).cvx .def (.stacktype)((stacktype -- no value)=).cvx .def (.frametype)((frametype -- no value)=).cvx .def (.marktype)((marktype -- no value)=).cvx .def .end (tabinc)((!tab!) .dup .load 1 .add .store).cvx .def (tabprint)(!tab! (( ).print).cvx .rept).cvx .def (tabdec)((!tab!) .dup .load 1 .sub .store).cvx .def (1792)\546f7 666f0 6f7 178f0