HELP NEWPR J L Cunningham, Feb 82
lib newpr;
NEWPR is a library procedure which can be used to alter the way
specified items are printed (but see also HELP *CLASSES). It is used as
follows:
newpr(<type_recogniser>,<print_procedure>);
<type_recogniser> is a procedure of one argument that should return
FALSE if its argument is not one of the items which are to be printed
specially. <print_procedure> is a procedure of one argument that prints
the special item. For example:
define silly(item);
islist(item) and length(item) = 3
enddefine;
define prsilly(list);
syspr(rev(list));
enddefine;
newpr(silly,prsilly);
[a b c d] =>
** [a b c d]
[c a t] =>
** [t a c]
Everything works as before, except that three element lists are printed
backwards. Notice that it was necessary to call *SYSPR, rather than *PR,
inside PRSILLY, otherwise we would get an infinite recursion.
See also
HELP *PRINT - for other printing procedures
REF *SYSIO - for more details of I/O procedures
--- C.all/help/newpr
--- Copyright University of Sussex 1992. All rights reserved. ----------Author: J L Cunningham, Feb 82