Issue: PRINTER-WHITESPACEForum: X3J13 Letter Ballot
References: 22.1.3.8 (pp22-7..22-8),
22.1.3.10 (p22-9)
Category: CLARIFICATION
Edit history: 16-Jun-93, Version 1 by Pitman
Status: Proposal JUST-ONE-SPACE passed (7+1)-3 on letter ballot 93-304
Problem Description:
In the descriptions of how lists and vectors print, the draft
standard says "whitespace" is printed where CLtL1 says "a space".
Is this an unintentional change?
Proposal (PRINTER-WHITESPACE:JUST-ONE-SPACE):
When *print-pretty* is false, require the printer to use exactly
one space in the indicated situations. In general, when *print-pretty*
is false, recommend that implementations and users output a minimum
of space in this situation. [This is status quo under CLtL1]
Rationale: This forces implementations to use very little space
and makes printer behavior more regular across implementations.
Proposal (PRINTER-WHITESPACE:WHITESPACE):
Affirm that where the printer is defined to output whitespace,
arbitrary whitespace is permissible. Recommend that implementations
and users use a minum of whitespace when *print-pretty* is false,
but permit flexibility. [This is status quo under dpANS]
Rationale: This makes it less likely that users will write code
that is not robust in the face of varying amounts of
whitespace inserted by entities other than the printer
(e.g., a human being).
Test Cases:
#1: (CHAR (FORMAT NIL "~S" '(A B)) 2)
might return #\Space in some implementations and #\Newline in others.
#2: (CHAR (FORMAT NIL "~S" '(A B)) 3)
might return #\Space in some implementations and #\B in others.
#3: (LENGTH (FORMAT NIL "~S" '(A B)))
might return 5 in some implementations or greater numbers in others.
Current Practice:
Not provided.
Cost to Implementors:
JUST-ONE-SPACE: Relatively small.
WHITESPACE: None. (status quo)
Cost to Users:
JUST-ONE-SPACE: None.
WHITESPACE: None. (status quo)
Cost of Non-Adoption:
See Rationale above.
Benefits:
See above.
Editorial Impact:
Small.
Aesthetics:
Some people might quibble a little, but mostly pretty neutral.
Discussion:
This is in response to Public Review comment Loosemore #15.
Pitman prefers option WHITESPACE.
Pitman believes the complained-about change occurred during
the integration of the pretty printer description with the
printer chapter. At Waters' direction, he allowed this change
to be taken as editorial--probably a bad idea in retrospect.