CLHS: Issue GENTEMP-BAD-IDEA Writeup

#

## Issue GENTEMP-BAD-IDEA Writeup

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

Copyright 1996-2005, LispWorks Ltd. All rights reserved.