(j3.2006) (SC22WG5.3591) Assumed-type and Assumed-rank extensions for C Interop TR.

Aleksandar Donev donev1
Fri Jul 25 01:35:40 EDT 2008


> Comments on the proposal itself are also welcome.
I've already spoken to Bill off-line, and love the general ideas, but 
here are some public technical comments:

1) Let's please not touch generic resolution for now---being too 
ambitious is not a good idea especially given the tight timing. Unless 
it is essential to have (does it work with Cray's and IBM's "ignore type 
and rank" directives, for example?)?

2) "TYPE(*) is interoperable with the C type (void *)" does not work. We 
have types that are interoperable with C types, which is void, not a 
void *pointer*. All we need is that in an interface void* corresponds to 
TYPE(*) as a special case in 15.3.7p2---the types themselves do not need 
to be interoperable. What Bill is saying simply does not compute.

3) We should add a new RANK() intrinsic that can be used in 
specification expressions. Bill pointed out to me that rank(x) = 
size(shape(x)), but what's one more intrinsic to make codes more 
readable :-)

Speaking of intrinsics, do we really want to make the size of the SHAPE 
intrinsic (and others) possible not be a compile-time constant?


More information about the J3 mailing list