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


Issue:        GENTEMP-BAD-IDEA

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


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.


Deprecate the function GENTEMP.


Remove the function GENTEMP from the language.

Test Case:



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.


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.


GENTEMP is not aesthetic.


This is in response to Pitman's comment #19, first Public Review.

Pitman supports the proposal.

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