(j3.2006) (SC22WG5.3591) Assumed-type and Assumed-rank extensions for C Interop TR.
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
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