J3/05-135r2 To: J3 From: Dan Nagle Subject: USE ..., EXCEPT: ... Date: 2005 Feb 09 With large modules with many names, perhaps long names, it may be difficult, unclear or inconvenient to use most of the names present while excluding a few (perhaps to prevent collisions). Adding a EXCEPT clause to the USE statement solves the problem. This feature is proposed in response to an informal Fortran 2003 comment from Australia (no formal comment was received). The spelling is changed from NOT to EXCEPT in response to a suggestion received. At M167 the Hate .. Love vote was 1 - 1 - 8 - 2. The difficulty on the John Reid scale was 4. Number: Title: USE EXCEPT: Submitted By: J3 Status: For Consideration References: J3/03-106, J3/04-114 Basic Functionality: A syntax to list names not to have use association when using a module. Rationale: When using a module with many public names, a few may be unwanted. Specifying those few is easier than naming the many wanted names, and less ugly than fanciful renames. Estimated Impact: 4 on the John Reid scale at 167 Detailed Specification: Add a clause to the USE statement specifying names not available via use association. If EXCEPT: is present, ONLY must not be present, and there can be no renames (in the ). (It makes no sense to say "don't use this name, and call it 'foo'".) If any USE statement for a given module in a scoping unit has an EXCEPT, all use statements for that module in that scoping unit must have an EXCEPT clause. The effective EXCEPT list is the concatenation of all the EXCEPT lists naming the given module. History: J3/03-106, J3/04-114, J3/05-135