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 

The TARGET attribute does not look *that* harmful!  And BIND(C) requires an 
interface anyway...

................................Malcolm Cohen, Nihon NAG, Tokyo. 

More information about the J3 mailing list