J3/17-187 To: J3 From: Bill Long Subject: Recursive separate module subprogram Date: 2017 August 01 Discussion: ----------- In 15.6.2.5p3 on Separate module procedures, we have a sentence in the paragraph discussing interfaces for these procedures that begins: "It is recursive if and only if it is declared to be recursive by the interface body, ..." In contrast, C1551 is: "(R1526) If MODULE appears in the prefix of a module subprogram, NON_RECURSIVE shall appear if and only if NON_RECURSIVE appears in the prefix in the corresponding module procedure interface body." C1551 was clearly worded to account for the change to make RECURSIVE default. While the text in 15.6.2.5 is technically correct ("declared to be recursive" is accomplished by omitting a declaration of NON_RECURSIVE) it would be clearer to reword the sentence in 15.6.2.5 to more explicitly take into account the change in default. Edits to N2137: --------------- [333:32-33] In 15.6.2.5 Separate module procedures, paragraph 3, replace the beginning of the second sentence "It is recursive if and only if it is declared to be recursive" with "It is recursive unless it is declared to be nonrecursive"