J3/16-155 To: J3 From: Dan Nagle Subject: comments in clause 11 Date: 2016 January 29 Reference: 16-007 +++ Issue #1 +++ In 11.2.1 at [279:21-22] a sentence reads "A nonintrinsic module is defined by a module program unit or by a means other than Fortran." What "means other than Fortran" is that? When used to describe program units (see, for instance, 11.1 at [279:14-15]) these words indicate that something describable by C is intended. 15.1 tell us that procedures may interoperate, and that global data may interoperate. No mention of modules. A similarly cryptic phrase is in 12.2.2.2 at [285:21]; but 15.3.7 [467:1+] tells us how to make the interface. Furthermore, 15.3.1 [463:3-5] tell us that "If a Fortran entity is interoperable, an equivalent entity could be defined by means of C and the Fortran entity would interoperate with the C entity." What entity in C could interoperate with a module? That is, in C, how would I declare a name that could be used as a module name on a use statement? I can find no description of such a C entity in 1539. I can't think of what might be in 9899 the would fit the bill. So the standard provides no interpretation for such an attempted program. So it must be non standard. So the phrase "or by a means other than Fortran" at [279:22] is, at best, unsupported and may well be unsupportable. I can find no similar claim for submodules in 11.2.3 [283:1+]. Edit at [279:21-22] delete "or by means other than Fortran"