J3/00-275r1 To: J3 From: Malcolm Cohen Date: 14th September 2000 Subject: Ordering 1. Introduction The order of components for the purposes of i/o and constructors is poorly specified (duelling sections). Instead of duplicating the concept both in the i/o section and the constructor section, we should define a term and use it. The ordering for type parameters is similarly poorly specified. Although this ordering is used only in one place (4.5.5 Derived-type specifier) the cleanest solution is to define a term and use it. This paper is inspired by 00-251. 2. Edits to 00-007r2 [52:44-49] Delete duelling paragraph. [54:28+] Insert new section "4.5.3a Component order <> is the ordering of the components of a derived type that is used for intrinsic formatted input/output and structure constructors (when component name keywords are not used). The component order of a nonextended type is the order of the declarations of the components in the derived type definition. The component order of an extended type consists of the component order of its parent type followed by any additional components in the order of their declarations in the extended derived-type definition. 4.5.3b Type parameter order <> is the ordering of the type parameters of a derived type that is used for derived type specifiers. The type parameter order of a nonextended type is the order of the type parameter list in the derived-type definition. The type parameter order of an extended type consists of the type parameter order of its parent type followed by any additional type parameters in the order of the type parameter list in the derived-type definition." [55:3-6] Replace "In the absence ... etc.." with "Type parameter values that do not have type parameter names specified correspond to type parameters in type parameter order (4.5.3b)." [55:25-27] Replace "sequentially corresponding ... ,etc.." with "corresponding component in component order (4.5.3a)." [183:38-39] Replace "in the same order ... derived type" with "in component order (4.5.3a)" [399:23+] Insert new entry "<> (4.5.3a): The ordering of the of a that is used for formatted input/output and for structure constructors." [407:24+] Insert new entry "<> (4.5.3b): The ordering of the of a that is used for derived-type specifiers." ===END