(j3.2006) Integration of co-arrays with the intrinsic shift functions
Mon Jul 16 19:05:08 EDT 2007
On Jul 16, 2007, at 3:27 PM, Aleksandar Donev wrote:
> On Monday 16 July 2007 12:54, Craig Rasmussen wrote:
>> By simply defining a standard distribution
> The "a" standard distribution implies (correctly) that there are other
> alternatives (to the block distribution you proposed as the default).
> Choosing one hardly achieves a "high-level" language---for that one
> needs to
> go all the way to user-defined distributions.
A simple block distribution is better than nothing at all. User-
defined distributions can come later.
> And might I add that SHIFTs are not the only intrinsic that would
> be affected.
> Why should CO_SUM not sum along the virtual columns and rows of the
> array? If you can shift along them, surely you should be able to
> sum. To put
> it another way, the language has no provisions or features for such
> views" of co-arrays and distributions and all that stuff. Adding a
> won't correct that---it would need to be added from the ground up.
> I don't
> see that as a good direction.
Yes, after looking more closely at CO_SUM, it is too different from
SUM and breaks the "element of least surprise". We should actually
integrate co-arrays into the Fortran language and define SUM so that
it takes a co-array as an arguments. It is simply amazing to me that
there is not a reduction intrinsic on a co-array that returns a
scalar of the sum of all of the elements of a co-array. Without the
DIM argument, the result doesn't even depend on the distribution.
Seriously, what were you all thinking or afraid of? The discussions
went on in secret so neither J3 nor WG5 can know until you enlighten us.
Integration of the new array type into the existing Fortran language
is much preferable to simply tacking something along side Fortran and
rushing it out the door.
Are you really saying that a global view is not a "good direction"?
The spirit of Fortran from the beginning (correct me if I'm wrong)
was that of an array-based language with a global index set.
More information about the J3