To: J3 07-224r1 From: Aleksandar Donev Subject: Co-arrays and ASSOCIATE Date: 2007 May 10 References: J3/07-007r1 Discussion: The current words allow an associate selector to be a co-indexed object and a co-array, but do not specify whether the associate name remains a co-array and whether it is a co-indexed object. We believe that the associate name should have the same co-rank and co-bounds as the associated selector. Subgroup believes that we should forbid co-indexed objects as the selector. There are two ways to treat co-indexed selectors. Both have problems. Option 1: If we allowed co-indexed objects as selectors, the associate name would be "co-indexed". This would require expanding the concept of "co-indexed object". It would effectively hide the fact that the variable is on another image inside the ASSOCIATE block which is contrary to one of the basic design principles of co-arrays. Option 2: A co-indexed selector could be treated in the same way as a variable with a vector subscript. This is effectively the "copy-in" option. However, this option would prevent the associate name from appearing in a variable definition context. This too seriuosly limits the usefulness. Edits: ----------- [178:20+] Add a new constraint: "C801a (R804) A shall not be a co-indexed object." [179:2] Change "same rank" to "same rank and co-rank" [179:5] Before the sentence beginning with "The associating entity has", add a new sentence: "The co-bounds of each co-dimension of the associating entity are the same as those of the associated selector." [192:3+] Add a new constraint: "C832a (R847) A shall not be a co-indexed object."