Just few very minor points...
Dr W.W. Schulz said:
> PUBLIC cannot and should not refer to FooResult, since it is the name and not the
> return value that is PUBLIC. The example by Adriaan Joubert,
> FUNCTION F (..)
> PUBLIC :: F
> END FUNCTION,
> is not acceptable since it violates the scoping rules of programme units.
Yes, although other attributes (e.g. array dimensions) are specified
inside the module function, it is certainly true that these other
attributes apply to both the function name and its result name;
whereas accessibility only applies to the function name.
However, in my opinion by far the best way of handling exports from
modules is to have the PRIVATE default and to explicitly declare
everything exported in a single PUBLIC statement or consecutive PUBLIC
statements. (Yes, I understand that not everyone shares this
opinion...)
Dr W.W. Schulz said:
> There were several comments on my original suggestion, some
> critical but I think while some aspects have to be clarified
> there is no convincing argument (yet) against my proposal.
Nor in my opinion has a convincing argument been made FOR the proposal.
It does not seem to me to simplify anything (rather the reverse) nor
does it seem to add any functionality that is not already there. Perhaps
I just missed it.
I said:
> > To me the proposed syntax looks complicated and potentially ambiguous
> > (or at least, hard to disambiguate).
Dr W.W. Schulz said:
> Nothing hard at all.
Sorry, but I don't think you can say how anything looks to me.
I understood when I made my remark that it did not look hard to you.
I STILL think that your full proposal looks complicated (certainly it
appears to me to be more complicated than the status quo) and hard to
disambiguate. In my opinion having a very subtle syntactic difference
between two radically different statements is a bad idea.
I said:
> > If our existing syntax for this is not really broken, we should not fix it.
Dr W.W. Schulz said:
> But certainly amend if possible and soooo easy to do.
[which is completely contradictory to what I said!]
I reply: no way - we should absolutely avoid changing it unless there
are clear and substantial benefits. Even given backwards
compatibility, there is an intellectual cost to every user with any
change.
All my opinion of course.
Cheers,
--
...........................Malcolm Cohen, NAG Ltd., Oxford, U.K.
([log in to unmask])
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|