Print

Print


Dr W.W. Schulz <[log in to unmask]> wrote:
...
>While I agree with some of the implications of Jim's hopes I think
>given the proposed F2000 standard his hopes are too high.

Well, I have to disagree.  At the very least, I have to point out that
my suggestion was for things in the next revision *after* F2000.
I think there's plenty of time for such features to be thoroughly
vetted by then.  I don't really think READONLY could be 
adopted sooner than that either (not with the amount of work
the committee is required to do on features that they've already
committed to).

>An INLINE attribute is essentially a compiler directive and Fortran
>has no such attributes (yet, is VOLATILE a first?). So it is not clear
>at all that such a keyword would easily make it.

Well, I'm not sure we agree about the definition of "compiler directive".
INLINE would certainly be an example of a feature that directly bears
on the pragmatics of the language, as opposed to the syntax or
semantics.  That would be new (sort-of: other features in the past
have had negative pragmatic implications - like DO loops which
overspecify the order of operations).

>Relying on compilers to implement inlines for all such cases is also
>not necessarily a good bet. We have several Quality-of-Implementation
>issues that are NOT implemented widely yet.

But, the days of ad-hoc compilers made in someone's spare time
and becoming successful are nearing an end.  Even free compilers
(G77, ELF90, F, etc.) are expected by the user community to 
be fairly sophisticated and robust.  As I said before, by the time
these features could be standardized (and certainly by the time
the implementations begin to appear), it will almost certainly be
the case that all compilers will use all the off-the-shelf techniques
they can find.  Inlining is not a particularly new idea, and the
means to do it (though time consuming at compile time) are not
difficult in terms of implementation.  (In fact, the time consuming
nature of the feature is all the more reason to give the end-user
explicit control.)

>Secondly, the parentheses for argumentless functions won't go away
>so quickly since it requires explicit type declarations for all
>variables and procedures, in other words removal of the implicit
>or explicit IMPLICIT statements. I would welcome this but it is
>not mentioned among the obsolescent features in F2000. And Fortran
>likes to give some warning ahead of time, quite reasonably so, what
>will be deleted.

Well, as I said, we don't need to get rid of implicit.  Any symbol that's
implicitly declared will still need the parenthesis (if it's a function).  Symbols
with an explicit interface are known (both to the user and the compiler)
to be procedures.  You don't need the parenthesis to determine that for you.

>Given this and the widespread want for READONLY (or PROTECTED)
>I think trying to get READONLY now is (much?) more realistic.

Well, as I said, I don't oppose READONLY.  I merely think it will be
redundant in the same time-frame as it is likely to be adopted.

--
J. Giles



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%