09-217 To: J3 From: Malcolm Cohen Subject: Rewritten 09-171r1 Date: 2009 April 30 References: 09-171r1 1. Introduction There are a number of confusions and misconceptions in the question, let alone the proposed answers, for the interp request in 09-171r1. Leaving such confusions in an interp question serves little useful purpose, so I rewritten the entire thing to answer what it seems to be asking. It is entirely possible that I have misunderstood the idea behind the question here, if so my apologies. 2. The rewritten interpretation ---------------------------------------------------------------------- NUMBER: TITLE: Elemental specific intrinsic procedure characteristics KEYWORDS: Elemental intrinsic, procedure pointer, dummy procedure DEFECT TYPE: Interpretation STATUS: J3 consideration in progress QUESTION: (1) Are the specific intrinsic procedures (listed in 13.6 and not marked with a bullet) elemental or nonelemental? (2) What rank do those specific intrinsic procedures have? (3) May one of those procedures become associated with a dummy procedure or procedure pointer with nonzero rank? (4) When one of these procedures is associated with a dummy procedure or procedure pointer, does it still have the elemental property? ANSWER: (1) Those specific intrinsic procedures are elemental. (2) They are elemental functions; thus they are scalar in themselves, but may be applied to an array in which case the reference will be an array. (3) No. As elemental procedures, by definition the dummy arguments and result have rank zero. This does not satisfy the requirements for procedure argument or procedure pointer association. (4) The specific intrinsic procedure itself retains the elemental property (so a reference using its own name can be elemental), but the dummy procedure or procedure pointer associated with it is not elemental and so cannot be used to reference the specific intrinsic procedure elementally. EDIT: None. SUBMITTED BY: Van Snyder HISTORY: 09-171r1 m188 Submitted 09-217 m188 Revised question and answer ---------------------------------------------------------------------- 3. Random grumblings 09-171r1 claims that the combination of constraint C728 and 7.4.2.2p6 implies that "a nonelemental specific intrinsic procedure is associated with the procedure pointer as its target". This completely ignores the fact that there are no nonelemental specific intrinsic procedures in that list! So this cannot be the case. The plain meaning of the words in the standard are that a nonelemental procedure pointer becomes associated with an elemental specific intrinsic procedure. It further asks the self-contradictory question "For each intrinsic function listed in 13.6 and not marked with a bullet, does there exist a nonelemental specific intrinsic version for every rank, or only for rank zero?" This is nonsense because this list is of *specific* intrinsic procedures. The defining property of a specific procedure is that it is a "specific" (in the English sense) procedure, i.e. a known single actual procedure. If there were multiple version they would, by definition, be generic and not specific. In any case, there are no nonelemental specifics here, they are all elemental. It says again "The implication of these texts is that a nonelemental specific intrinsic procedure is the actual argument associated with the dummy argument." And I say again no, there are no such animals, they are elemental specific intrinsic procedures which the standard permits to become associated with a nonelemental dummy procedure. (The paper goes further to propose a horrible new feature via the interpretation processing mechanism. This is inappropriate when asking about something that has been in the language for 18 years and 2 previous standards.) ===END===