Issue READER-MACRO-VALUES
Issue: READER-MACRO-VALUES

Forum: Editorial

References: CLHS 2.2

Category: CLARIFICATION/CHANGE

Edit history: 2004-06-10, Version 1 by Lars Brinkhoff

Status: For CLiki consideration

Problem Description:
2.2 step 4, says "The reader macro function may return zero values or one value". Is this a strict constraint on the number of values, or does the usual "primary value" rule apply?

Proposal (READER-MACRO-VALUES:STRICT):
Specify that the number of values returned must be 0 or 1.

Proposal (READER-MACRO-VALUES:LOOSE):
Specify that any number of values may be returned; excess values are ignored.

Test case:

Rationale:
Mostly this precludes implementations from arbitraily adopting one of the two possible interpretations.

Current practice:
CLISP throws an error if a reader macro returns more than one value.

Cost to Implementors:
Small.

Cost to Users:
None. Portable programs cannot currently rely on any particular behavior.

Cost of Non-Adoption:
Users would be confused about what to expect because implementations might implement either of the two behaviours.

Benefits:
Tighter spec.

Aesthetics:

Discussion: