Richard E Maine wrote:
> On Sep 22, 2004, at 12:52 PM, James Giles wrote:
>
>> If you decide that only P is associated with the whole of A
>> and that Q only points to a slice (even though a complete slice),
>> you place the purden of this overly subtile distinction on the
>> user.
>
> Well we have that distinction already elsewhere. The
> meaning of LBOUND(Q) and LBOUND(Q(:)) is
> different and has been since f90.
Yes, but that's visible at the site of use. It's subtle, but the
visibility helps. In the DEALLOCATE case, the pointer
is just a pointer. It carries no visible stigmata that condemn
it as a slice instead of an annointed whole object.
>> Nor do I think most implementations will maintain the distinction.
>
> That's not really important. They aren't required to. What I see
> as important is whether *ANY* implementations maintain such a
> distinction, because if any do, then code that depends on it is
> nonportable. [...]
Or, those implementations are non-standard. Surely that's the
question at issue, not the automatic answer. (I see in the part
I elided that you do agree about this being the issue.)
--
J. Giles
"I conclude that there are two ways of constructing a software
design: One way is to make it so simple that there are obviously
no deficiencies and the other way is to make it so complicated
that there are no obvious deficiencies." -- C. A. R. Hoare
|