Re: Structure of large link libraries in f95



Richard Maine wrote:
I wrote:

They have the syntax of external procedures - they aren't
after a contains.


Gary L. Scott <garyscott@xxxxxxx> wrote:


It just seems to me that CONTAINS is superfluous in this case.


So? You seem to be trying to make things much more complicated than they
are, bringing in irrelevant things. They have the syntax of external
procedures - period.


It makes perfect sense for those procedures in the same source file to be treated
as internal since ALL of the same information is available.


You are bringing in irrelvancies and tyrying to reason backwards. The
definition of an internal procedure is that it appears after a contains
in its host procedure.

The definition is not "has information available". That is a property of
internal procedures, but it is not the definition. Having such
information does not make something internal. Internal procedures also
have other properties. For example, they get host association, and their
name is local to their host. Your other procedures in the same file
don't have those properties. Furthermore, other kinds of procedures can
also have information available (notably module procedures).

You are taking one particular property that an internal procedure
has,and you are treating that as though it were the definition of an
internal procedure. It isn't. If you try to treat that as the
definition, you won't be able to get very far.


They're certainly not "external" in the literal sense because there is no library generated


They certainly *ARE* in the literal sense. The literal definition is
syntactic. Their source code is in a propgram unit not contained in any
other program unit. That's the literal definition. There is nothing
about "libraries" in the definition at all. Nor is it even particularly
related. Absolutely all Fortran code can go in libraries. That includes
main programs, external procedures, modules, block data. For that
matter, internal procedures and statement functions are also in
libraries insomuch as they are in procedures that are in the libraries.
None of that has *ANYTHING* to do with the standard or its classication
of procedures.

Again, I think you are using some definition of your own. I'm not even
quite sure what this definition is, but it clearly isn't the one of the
standard.

I was suggesting how it might have been. I was not arguing how it is presently defined in the standard.

--

Gary Scott
mailto:garyscott@xxxxxxx

Fortran Library: http://www.fortranlib.com

Support the Original G95 Project: http://www.g95.org
-OR-
Support the GNU GFortran Project: http://gcc.gnu.org/fortran/index.html

Why are there two? God only knows.


If you want to do the impossible, don't hire an expert because he knows it can't be done.

-- Henry Ford
.