[LISPWORKS][Common Lisp HyperSpec (TM)] [Previous][Up][Next]


Issue PRINTER-WHITESPACE Writeup

Issue:        PRINTER-WHITESPACE

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


[Starting Points][Contents][Index][Symbols][Glossary][Issues]
Copyright 1996-2005, LispWorks Ltd. All rights reserved.