(j3.2006) (SC22WG5.5164) [ukfortran] [ Draft corrigendum 3]
Tom Clune
Thomas.L.Clune
Sun Dec 22 11:30:48 EST 2013
Perhaps getting a bit off topic, but there _is_ one case of separating the attributes that I actually use routinely and regularly advise others to do so. Namely, the PUBLIC attribute. I find that a nice module style is to have a default PRIVATE statement followed by a list of the public entities. Detailed specifications are further into the text.
Once a module has a number of nontrivial declarations (e.g. derived types), then the PUBLIC attribute an get a bit buried. I want users of my modules to be able to tell at a glance which facilities are provided. Of course this assumes that all of the public entities have names that are laden with clear intent. As with many good practices, they rely and support other good practices.
Do others use this? Does anyone have an interesting rebuttal? Always looking to improve my style ?
Cheers,
- Tom
On Dec 22, 2013, at 4:54 AM, N.M. Maclaren <nmm1 at cam.ac.uk> wrote:
> On Dec 22 2013, Malcolm Cohen wrote:
>>
>> I (and others) disagree with your assertion that
>> REAL x(*)
>> PARAMETER(x = [ 1,2,3,4,5 ]) is unreasonable and should never be
>> allowed. Disallowing this would break one of our basic design rules for
>> the BNF of declarations, which is that one can specify attributes
>> independently. Yes it is a smaller edit to the standard, and would not
>> remove significant functionality ... but then deleting the PARAMETER
>> statement entirely would not remove significant functionality!
>
> As someone who was not involved, I regrettably agree - though I think
> that Bill is right that such code IS unreasonable. Introducing
> gratuitous restrictions should be considered only when they prevent
> actual, fairly common, mistakes. I can't see one that this blocks.
>
> As someone who teaches both Fortran and C++, I really appreciate the
> consistency and relatively tiny number of 'gotchas' of Fortran.
> Fortran syntax may be verbose and horrible, but it is clean and
> consistent (remember that I prefer Algol 68!)
>
> I don't teach setting attributes separately but, if someone asks, I
> can simply say that I don't advise it but it can be done. That's it.
> A couple of minutes, and it's covered.
>
>
> Regards,
> Nick Maclaren.
>
> _______________________________________________
> J3 mailing list
> J3 at mailman.j3-fortran.org
> http://mailman.j3-fortran.org/mailman/listinfo/j3
Thomas Clune, Ph. D. <Thomas.L.Clune at nasa.gov>
Chief, Software Systems Support Office Code 610.3
NASA GSFC 301-286-4635
MS 610.8 B33-C128 <http://ssso.gsfc.nasa.gov>
Greenbelt, MD 20771
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.j3-fortran.org/pipermail/j3/attachments/20131222/5aa47a28/attachment.html
More information about the J3
mailing list