07-135 To: J3 Subject: UTI 5003 From: Van Snyder Date: 2007 January 25 1 Introduction I don't think there's anything wrong with the description of a module procedure interface. It is modeled on the description of the declaration of the interface of an external procedure. As with an external procedure interface, the interface can be used as if it were an abstract interface even if no corresponding external procedure exists in the program. The primary difference is the appearance of MODULE within the prefix of the subroutine or function statement that introduces the interface body. This tells the processor that it needs to combine the module name or submodule identifier with the subprogram name in the same way that it would for a module procedure that is not a separate module procedure. This combined name is not used, however, except in a procedure reference or when the procedure is used as an actual argument or pointer assignment target. Actually, the description of a generic or specific interface block is defective: it doesn't make an exception for separate module procedure interface bodies. 2 Edits Edits refer to 07-007. Page and line numbers are displayed in the margin. Absent other instructions, a page and line number or line number range implies all of the indicated text is to be replaced by associated text, while a page and line number followed by + (-) indicates that associated text is to be inserted after (before) the indicated line. Remarks are noted in the margin, or appear between [ and ] in the text. [302:6]------------------------------------------------------------------- [Editor: Replace ``An interface body'' by ``If an interface body is not a module procedure interface body, it''.] [512:24+1-] -------------------------------------------------------------- [Editor: Delete UTI 5003.]