(j3.2006) CO_BROADCAST vs. CO_REDUCE
Malcolm Cohen
malcolm
Fri Sep 19 02:55:31 EDT 2014
<<<
> The call to CO_REDUCE nominally only supplies the address of A and the entry
> point for the OPERATOR function.
So, that?s not right for A. Since A is allowed to be an array, the call will
somehow need to also supply element size and shape information.
>>>
And length type parameter information.
<<<
Most likely just the normal descriptor used for other intrinsics with array
arguments. Internally, CO_REDUCE uses this information to generate the
addresses for each of the elements of A to be used in the call to OPERATOR.
>>>
I know we all want to forget about the existence of PDTs, but unless we do
something they are not going to go away. If the argument is a PDT with an
assumed type parameter, there is no choice other than to do whatever is
necessary to pass the type parameters through to it.
(Doing polymorphic seems no harder than handling all the other things we have to
handle, in fact without PDTs polymorphic is a doddle.)
Unless we are going to declare PDTs deprecated or optional, making them
second-class citizens is a bad idea.
<<<
it is not reasonable to allow dummy argument declarations that would require an
interface
>>>
The TARGET attribute does not look *that* harmful! And BIND(C) requires an
interface anyway...
Cheers,
--
................................Malcolm Cohen, Nihon NAG, Tokyo.
More information about the J3
mailing list