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. ----------
