J3/06-278 Date: 10 August 2006 To: J3 From: Dick Hendrickson Subject: clause 4 problems References: J3/06-007 Questions and comments that are more than editorial. [41:9] Can't a processor provide derived types as an extension? How is providing a "tensor" type different from Quad? [41:30] As with the above. They can also be provided by processor magic. Add "or by the processor" [42: note 4.1, last sentence] Are (type bound?) polymorphic generics resolvable at compile time? [42:19-21] Should we add UDDTIO to the list? Can it change the parameters [50:16] Is this what we want now that we have 18 digit integers required? Changing it would be a (minor?) incompatibility with F03. It seems odd to have (333333333333333333, 1.0) be the same as (333333300000000000, 1.0) This will also mess with clause 7 [51:27] Add "elemental," to the list. Back in the good old days, an elemental function was pure, so it wasn't needed in the list. Now, we have IMPURE elemental functions. /Begin RANT We have this bad habit of using magic to make our lists. Rather than say "A, B, C, D, E, or F", someone notes that "All Es are either D or F" and bingo, the list becomes "A, B, C, D, or F. We should stop doing that /end RANT [54:32] Must the additional representation methods be dense like the ones up to 4*(integer size) are. Or, could a processor allow 1 through 128 and then 143 and 231? [55:30-31] Is this what we want? For integers surely all processors overflow for 9999999999999_TwoByteKind. Ditto for 1.0E666666666666_IEEEsingle. Why would anyone want to just use the right hand bits of a typed constant? [62:22 and 29] I don't understand C447 and C451. Are they correct? [62:note 4.32 end] Can UDDTIO also determine the shape? [65:2] Says pointer components can only be initialized to disassociated. See [65:30] which seems to say they can be associated to a real target. [65:14] Does C459 need to be worded similar to C447? [65:26-27] Why don't we also allow module variables to be [72:1] See comment about [130:1]