HELP PRINTARROW Steven Hardy, February 1982
<item_to_be_printed> =>
<item_to_be_printed> ==>
Putting the print arrow, =>, after an expression is the simplest way of
printing something in POP-11. For example:
3 + 5 =>
** 8
[% 3 + 5, rev([a b c d]), 'a string'%] =>
** [8 [d c b a] a string]
If used in execute mode the print arrow prints everything on the stack,
for example:
3 * 5; (4 - 2) * (4 + 2) =>
** 15 12
However, if used inside a procedure the print arrow prints only one
thing:
define silly();
3 * 5;
(4-2) * (4 + 2) =>
enddefine;
silly();
** 12
In this example, the result of 3 * 5 hasn't been used and so remains on
the stack. The arrow inside the procedure prints out only the top thing
on the stack, and will produce a mishap if there is nothing on the
stack.
The 'pretty-printer' ==> can be used to tidy the printout of long lists
or vectors, for example:
vars list;
[[a b c d e f g h i j k l]
{a b c d e f g h i j k l}
[a b c d e f g h i j k l]
{a b c d e f g h i j k l}] -> list;
list =>
** [[a b c d e f g h i j k l] {a b c d e f g h i j k l} [a b c d e f g
h i j k l] {a b c d e f g h i j k l}]
list ==>
** [[a b c d e f g h i j k l]
{a b c d e f g h i j k l}
[a b c d e f g h i j k l]
{a b c d e f g h i j k l}]
Unlike the standard print arrow (=>), at top level (not in a procedure
call), the pretty print arrow does not print out the entire contents of
the stack.
The two asterisks and a space printed out initially by => and ==> can be
altered by assigning a different string to the variable POP_=>_FLAG
whose default value is '** '. E.g. you can assign an empty string
'' -> pop_=>_flag;
list ==>
[[a b c d e f g h i j k l]
{a b c d e f g h i j k l}
[a b c d e f g h i j k l]
{a b c d e f g h i j k l}]
See also
TEACH *STACK - explains the use of the stack in Pop-11
HELP *PRINT - other printing procedures
REF *PRINT - details of printing procedures
REF *SYSIO - details of system/device I/O procedures
HELP *IO - overview of documentation on system I/O
HELP *PRINTING - printing files
--- C.all/help/printarrow ----------------------------------------------
--- Copyright University of Sussex 1990. All rights reserved. ----------