#

## Issue IGNORE-USE-TERMINOLOGY Writeup

    Forum:		Public Review
    Issue:		IGNORE-USE-TERMINOLOGY
    References:	Barrett's public review comment #30
    		IGNORE, IGNORABLE
    Category:	CLARIFICATION
    Edit history:	21 Dec 1992, Version 1 by Loosemore
    Status:		Proposal VALUE-ONLY passed (7+1)-2 on letter ballot 93-302

    Problem description:

      In the description of the IGNORE declaration, there are several
      occurances of "use", "used", "referred to", and "referenced", which
      are not well specified.  The question is, what constitutes a use of a
      binding.  Are only references for value considered to be "uses~, or
      should references as a place to modify also be considered "uses"?
      Implementations differ on this question, making it very difficult to
      use the IGNORE declaration in portable code.

      There are two proposals, VALUE-ONLY and VALUE-AND-ASSIGNMENT.

    Proposal (IGNORE-USE-TERMINOLOGY:VALUE-ONLY):

      Change the description of the IGNORE and IGNORABLE declarations to
      use the glossary term "reference" throughout.

      Clarify that, for the purposes of IGNORE and IGNORABLE, a "reference"
      includes only references for value.

    Proposal (IGNORE-USE-TERMINOLOGY:VALUE-AND-ASSIGNMENT):

      Change the description of the IGNORE and IGNORABLE declarations to
      use the glossary term "reference" throughout.

      Clarify that, for the purposes of IGNORE and IGNORABLE, a "reference"
      includes both references for value and variable assignments.

    Rationale:

      Either one of these proposals would address the problem.

    Current practice:

      Unknown.

    Cost to implementors:

      Probably small.

    Cost to users:

      Probably small.

    Aesthetics:

      Specifying this behavior is more aesthetic than leaving it unspecified.

    Editorial impact:

      The changes are confined to the dictionary entry for IGNORE and
      IGNORABLE.

    Discussion:

      Barrett has indicated he prefers proposal VALUE-ONLY, but Loosemore
      thinks that having variables that can be assigned to but not
      referenced are of questionable utility.

      While researching this issue, Loosemore noted that the provision
      about the behavior of IGNORE (and presumably IGNORABLE) from issue
      MACRO-DECLARATIONS had not been incorporated into draft 12.24.  Can
      we give the editor authority to remedy this?

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