Wolfgang Kilian <see...@domain.invalid> wrote:
> 2) The order of compilation does matter, because modules depend on other
> modules.
...
> Nothing of this is mentioned in the standard. The standard does not
> even mention the existence of module files, IIRC.
That part about the order of compilation mattering is alluded to in the
standard in vague terms. It doesn't say anything so clear as "order of
compilation". Heck, the standard doesn't even define a concept of
compilation in so many words.
It does say , in 11.2.1 of f2003,
"At the time a USE statement is processed, the public portions of the
specified module shall be available."
Read "processed" as roughly standard-speak for "compiled" (with emphasis
on the "roughly"). Exactly what it means for the public portions to be
"available" is not defined by the standard. But that's at least a hint
that something relating to the used module has to exist when compiling
the USE statement. There has been at least one implementation (a
horribly poorly done one for many reasons) where that just meant that
the source code for the used module was directly accessed when compiling
the USE statement. Most often, it means what you describe, that the
module is "available" when the .mod file has been created (and is in the
seach path for such files).
--
Richard Maine | Good judgment comes from experience;
email: last name at domain . net | experience comes from bad judgment.
domain: summertriangle | -- Mark Twain