(j3.2006) (SC22WG5.3591) Assumed-type and Assumed-rank extensions for C Interop TR.
Fri Jul 25 04:27:45 EDT 2008
Aleksandar Donev wrote:
> 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 :-)
rank(shape(x)) can be used in specification expressions, but not in
initialization expressions if X is an assumed-shape array.
RANK() was proposed for Fortran 90 in about 1986. I argued against it,
back when I didn't appreciate the difference between specification and
initialization expressions, and it disappearred. I don't know whether
it was my arguments that made the difference, or others objected as
well, and more eloquently and effectively than I did.
> Speaking of intrinsics, do we really want to make the size of the SHAPE
> intrinsic (and others) possible not be a compile-time constant?
I have submitted an interp request whether size(lbound(A)) is an
if A is an assumed-shape array and the lower bound either does not
appear or is an initialization expression. See 08-200r1.
One of the proposed answers is "Yes, no edits required."
More information about the J3