From owner-sc22wg5@dkuug.dk  Wed Jul  9 16:45:13 2003
Received: (from majordom@localhost)
	by dkuug.dk (8.12.8p1/8.9.2) id h69EjDqJ052164
	for sc22wg5-domo; Wed, 9 Jul 2003 16:45:13 +0200 (CEST)
	(envelope-from owner-sc22wg5@dkuug.dk)
X-Authentication-Warning: ptah.dkuug.dk: majordom set sender to owner-sc22wg5@dkuug.dk using -f
Received: from inf.rl.ac.uk (nfs7.inf.rl.ac.uk [130.246.72.7])
	by dkuug.dk (8.12.8p1/8.9.2) with ESMTP id h69Ej7Ec052159
	for <sc22wg5@dkuug.dk>; Wed, 9 Jul 2003 16:45:09 +0200 (CEST)
	(envelope-from j.k.reid@rl.ac.uk)
Received: from numerical.cc.rl.ac.uk (numerical [130.246.8.23])
	by inf.rl.ac.uk (8.11.6+Sun/8.8.8) with ESMTP id h69EgwD02439
	for <sc22wg5@dkuug.dk>; Wed, 9 Jul 2003 15:42:58 +0100 (BST)
Received: from rl.ac.uk (jkr.cse.rl.ac.uk [130.246.9.202])
	by numerical.cc.rl.ac.uk (8.8.8+Sun/8.8.8) with ESMTP id PAA01906
	for <sc22wg5@dkuug.dk>; Wed, 9 Jul 2003 15:54:00 +0100 (BST)
Message-ID: <3F0C2BEB.6030605@rl.ac.uk>
Date: Wed, 09 Jul 2003 15:51:23 +0100
From: John Reid <j.k.reid@rl.ac.uk>
Reply-To: j.k.reid@rl.ac.uk
Organization: Rutherford Appleton Laboratory
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: WG5 <sc22wg5@dkuug.dk>
Subject: Re: (SC22WG5.2854) Straw votes to ponder concerning Modules TR
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: owner-sc22wg5@dkuug.dk
Precedence: bulk



-------- Original Message --------

From: Aleksandar Donev <adonev@Math.Princeton.EDU>
Organization: Princeton University
To: WG5 <sc22wg5@dkuug.dk>
Subject: Re: (SC22WG5.2854) Straw votes to ponder concerning Modules TR
Date: Wed, 9 Jul 2003 10:22:52 -0400
User-Agent: KMail/1.5
References: <200307021755.h62HtGgM006819@dkuug.dk> 
<200307081808.h68I8hxG046526@dkuug.dk>
In-Reply-To: <200307081808.h68I8hxG046526@dkuug.dk>
MIME-Version: 1.0
Content-Type: text/plain;
   charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <200307091022.52292.adonev@math.princeton.edu>

Hello,

I stronly disagree with most of the suggestions Bill made, particularly 
the one about submodule procedures having external linkeage. If one 
wants that, use BIND(C). Name-space pollution is not something Fortran 
needs--it is a *modern* programming language and should have long passed 
the phase when names are global...Same goes for more then one level of 
nesting. There is a technical reason (implementation 
complexity/feasibility) why only 1 level of contained procedures is 
allowed (the contained procedure needs to get the
stack of its parent etc.), but I see no such thing for submodules. And I
definitely agree that 3 levels are needed for maximal guarding against
recompilation cascades (which I am appreciating more and more now that I 
have 120 modules in my program...). And trust me, there are widely used 
Fortran compilers which already make a mess of how they handle USE 
statements and take hours to compile a program with a 10-level USE 
chain. Sure, they can do the same for submodules, but this is not 
neccesary or inherent to the standard (which you should also believe me 
because another compiler takes 2 minutes for the same USE hierarchy).

In general, this discussion has gone more then I am willing (or have 
time to) discuss. Proposing radically new concepts at such a late time 
is not very productive. The goal I though was to polish the TR and get 
it going, not to invent a new one...

Best,
Aleksandar

