Issue: GENTEMP-BAD-IDEAForum: X3J13 Letter Ballot
References: GENTEMP (X3J13/92-102 pp10-10..11)
Category: CHANGE
Edit history: 04-Jun-93, Version 1 by Pitman
Status: Proposal DEPRECATE passed 9-2 on letter ballot 93-302.
Problem Description:
GENTEMP is an `attractive nuisance.' Pitman and many others believe that
GENTEMP should NEVER be used.
Its effects are hard to depend on because they differ from session to
session.
Its description gives the impression that the symbol it creates is
unique, but it is easy to establish innocent-looking patterns of data
flow (when multiple sessions are involved) where the same supposedly
unique symbol is created for conflicting uses.
Proposal (GENTEMP-BAD-IDEA:DEPRECATE):
Deprecate the function GENTEMP.
Proposal (GENTEMP-BAD-IDEA:REMOVE):
Remove the function GENTEMP from the language.
Test Case:
None.
Rationale:
The potential bad effects of GENTEMP are large, and there is no real
benfit. Anyone who really needs this could write it trivially given
the primitives already in the language.
Current Practice:
Presumably all implementations provide it.
Cost to Implementors:
Very small.
Cost to Users:
Small. (In the worst case, users will have to write a one-liner
to patch over it if they really need it.)
Cost of Non-Adoption:
Users might think this function was more useful than it was, and might
fall into some of its traps.
Benefits:
Language is one page shorter.
Editorial Impact:
A small, well-isolated change, plus a quick sweep of the sources
to make sure there are no stray references.
Aesthetics:
GENTEMP is not aesthetic.
Discussion:
This is in response to Pitman's comment #19, first Public Review.
Pitman supports the proposal.