J3/04-251 To: J3 From: Craig Dedo Date: February 16, 2004 Subject: Greater Than 7 Array Dimensions Number: Title: Greater Than 7 Array Dimensions Submitted By: Craig Dedo Status: For Consideration References: Basic Functionality: The next Fortran standard should have a maximum limit on the number of array dimensions of greater than 7. Processors should be able to support more than the new maximum as an extension. Rationale: The original limit of 7 dimensions in Fortran was established when the first Fortran standard was published in 1966 and has never been changed since. The number of heavy duty applications which require more than 7 dimensions is growing and becoming a significant proportion of high performance applications. Since Fortran does not now support more than 7 dimensions, programmers of an application which requires more than 7 dimensions usually write their application in another language. They do this even though in most cases they are more familiar with Fortran and would prefer to use Fortran. Estimated Impact: There would be no impact on existing codes. It should be fairly easy to write the specification in the standard. A few Fortran processors and some processors in other languages already support more than 7 array dimensions, so the technology of implementing high limits on array dimensions is well understood. Implementors most likely will need to modify their descriptors and symbol tables in order to support the larger limit. Detailed Specification: The constraint limiting the number of array dimensions would need to be raised to a higher limit. We would need to develop a syntax that would allow a programmer to specify subranges of dimensions. Research into human psychology indicates that short-term memory is limited to around 7 items, so it would be useful to give the programmer a way of avoiding the need to count large numbers of dimensions. History: