To: J3 J3/19-175 From: Van Snyder Subject: Concerning N2165 Date: 2019-July-05 References: N2165 04-192r1 04-357r1 18-154 18-156 18-274 19-167 19-168 19-169 19-170 On 6 March 2019, Steve Lionel sent an e-mail message that began Attached is a draft of a paper listing all of the features that J3 has approved for being on the F202X request list. This ends up being the US National Body list for WG5 consideration in Tokyo. Please look it over and let me know of any omissions or errors.... I responded, remarking Is it too late to follow up on "Allowing a specification section in (some) constructs without forcing use of BLOCK/END BLOCK seems useful. No paper. Defer discussion to next meeting." See 18-156. There was no further discussion. This omission was not included in N2165. Will there be further discussion? Concerning US22. Conditional expressions. Permits conditional evaluation of parts of the logical expression in an IF statement. M217 paper 18-274 contains extensive discussion and alternatives for syntax and semantics. Generally supported, but needs more work. I responded Conditional expressions are NOT only for evaluating parts of expressions in IF statements. They're for evaluating parts of ANY expression, anywhere, and calculating whether an actual argument is present. Calculating whether an actual argument is present was an important part of the 2004 proposal, and is an important part of the present proposal. When conditional expressions were rejected in 2004, in order to ameliorate the combinatorial-explosion problem with optional arguments, we got instead the kludge that unallocated or disassociated actual arguments corresponding to optional non-allocatable non-pointer dummy arguments are considered to be absent. Not doing the right thing in the first place is a good way to make a mess. Probably a permanent mess, since after we finally "do it the right way" we probably can't delete the kludge. This error was not corrected in N2165. See 04-192r1 and 04-357r1. Concerning US24. Generics / templates / macros / containers for generic programming. (m217: 18-281r1, uc (templates)), and (m218: 18-154 (macros)). I responded Minutes of meeting 215 report that 18-112 (parameterized modules) should be part of the proposal for generic programming. This error was not corrected in N2165. Further, there was an explicit decision not to produce any particular containers, such as lists, stacks, queues, trees.... Rather, support should be provided to develop containers. Containers are not an alternative to templates or macros or parameterized modules. Although templates or macros or parameterized modules are useful to develop containers, they are not sufficient on their own to provide adequate support to develop containers. Containers need additional support. See 19-167, 19-168, 19-169 and 19-170. Support for containers should be a separate work-item proposal.