Project 17: Proposals to X3J3 on intrinsics, MAP and double complex The proposals on intrinsics and double complex were essentially included in Fortran 90. ------------------------------------------------------------------------- Toronto 1978: ============= (a) X3J3/SIGNUM Contact Dr. Lawson gave a brief review of X3J3 activities in the forthcoming months. The X3J3 FORTRAN committee (of which Dr. Rose of Jet Propulsion Laboratory was now a member) was next due to meet in Minneapolis in mid-May. A further meeting was scheduled for October in Passenda. The first morning session of that meeting might be held in conjunction with a SIGNUM meeting (planned for October 18, 19, 20) the theme of which would be 'Programming Environment for Numerical Computation'. Dr. Lawson, who would be acting as program chairman n for the SIGNUM meeting, was seeking speakers who could address the joint audience on topics of mutual interest; in particular, on possible enhancement of post-77 FORTRAN which would be desirable for developers of mathematical software. Professor Hull suggested that Dr. Brown might be approached by Dr. Lawson as a representative of WG 2.5 on an informal basis. Dr. Brown said that, if approached, he would strive to present a coherent collection of views on behalf of the group. (b) Complex Double Precision A note entitled 'Complex Double Precision in Association with FORTRAN 77' was distributed by Dr. Reid. He explained the background to the topic and advised members that the FORTRAN 77 standard (draft as it then was) had changed since the last WG 2.5 note on double precision complex. Commenting on specific points mentioned in the note, Dr. Reid said that changes in the standard had made point 4 (arithmetic operations) easier. Points 10 and 11 were written without using explicit names as in earlier drafts; instead references to generic names only were present. Discussion: Professor Rice suggested that the final form of the note might give pointers to those parts of the ANS report that would be affected. Dr. Brown believed that the case for the inclusion of a double precision complex facility would be readily accepted by the FORTRAN committee in its next major review. Professor Hull offered to add a few introductory sentences to Dr. Reid's note to strengthen the case for having such a facility. Professor Rice wished to see appended to the note, a list of compilers which had a double precision complex facility. He also advised publishing the note in FOR-WORD quickly. Mr. Hague agreed to furnish details of NAG's experience in providing complex algorithms in double precision. Dr. Brown referred to the Bell 77 compiler. Dr. Lawson warned that though the idea of double precision complex might be adopted by X3J3 at some stage, it could be in an extension of the language definition designated of special interest for numerical computation. It might therefore not be in the 'core' or common language. The proposals in Dr. Reid's paper, slightly modified as a result of discussion, were informally adopted as tentative group proposals. It was agreed that Dr. Reid, assisted by Dr. Smith, should publish the proposals for comment. (c) Intrinsic Functions for Numerical Computation Dr. Reid introduced discussion of a paper called 'Intrinsic Functions tor numerical computation'. An earlier version of this paper had been submitted to but not accepted by X3J3 for inclusion in the FORTRAN 77 standard. He remained firmly convinced, however, that WG 2.5 should continue to press for the inclusion of some form of three functions (and of the double precision complex facility of course). The present form of the paper was an attempt to accommodate the previous WG 2.5 proposals and Dr. Brown's model definitions, said Dr. Reid. He was not sure that the compromise had succeeded and expressed concern about the adverse impact of publishing incompatible definitions. Dr. Brown agreed with Dr. Reinsch that the Bell model approach was relatively new but felt that the ideas involved had reached a sufficient level of maturity to warrant their dissemination as tentative proposals for comment. He and his colleagues would feel obliged to publish their ideas. Dr. Brown expressed concern at Professor Rice's statement of TOMS editorial policy that future algorithmic contributions were to adhere to the IFIP environmental parameters standard. Dr. Battiste sympathised with Dr. Brown but agreed with Professor Rice that standards, once set, should be followed. Professor Hull saw two distinct goals; the short term objective was to gain X3J3 acceptance of the intrinsic function proposals (without reference to number systems as such), and in the longer term, WG 2.5 should aim to present a more comprehensive view supported by theoretical arguments. Dr. Reid stressed that the proposals presented in the current paper were essentially language-independent and were intended for all machines. The definition of the epsilon function devised at previous WG 2.5 meetings was still valid in Dr. Reinsch's opinion; it would be straightforward to implement on 'well-behaved' computers. For the benefit of those members who had not been present at all three previous group meetings, Dr. Lawson reviewed the development of the current informal WG 2.5 function definitions. There had been considerable activity involving a number of people (including Dr. Ford, Dr. Smith, Dr. Krogh, Dr. Aird et al) but the Oak Brook meeting had been the crucial one because of the imminence of FORTRAN 77 decisions at that time (June, 1976). The Acting Chairman suggested that discussions of this nature might be resumed during Thursday's session to allow Dr. Reid, Dr. Brown and others directly interested more time to explore the possibility of compatible function definitions. The meeting then turned to issues of a more technical nature. The number of functions necessary (three in Dr. Reid's paper and five in Dr. Brown's) was discussed. Dr. Reinsch wished to keep the number at three so as to have minimum effect on the language into which they were introduced. Dr. Brown felt that the concentration of facilities into so few routines (EPSLN in particular) was no longer necessary. Professor Dekker considered the question to be simply one of implementation. He wished to concentrate attention on definitions. In his view, there should be little contentious about the overall specifications for INTXP(X) and SETXP(X,N). These would be defined for all stored real numbers. The EPSLN definition was more problematic, however. After several decades of computing, there was still no universally agreed definition. Professor Dekker briefly reviewed three of the various epsilon definitions; the current WG 2.5 proposal, a Wilkinson-like definition and that due to Brown and colleagues. (d) FORTRAN 82 Dr. Reid's third paper in the 'Future Fortrans' session was devoted to the features that the working group might wish to see in the planned next major revision of FORTRAN (1982/1983). The introduction to the paper gave X3J3 's proposed timetable for the next five years. In January 1979 the FORTRAN committee planned to begin formal processing of submitted proposals, so WG 2.5 should start to consider its policy immediately, said Dr. Reid. The notion of a core language with extensions, referred to by Dr. Lawson earlier, was further amplified in the introductory section of Dr. Reid's paper. All proposals that the group might make would have to take into account whether or not the requested feature should reside in the core. The specific topics addressed in the rest of the note were those of work space arrays, complex arithmetic (the subject of a separate note discussed earlier), keyword parameters, a MAP statement (a development of an earlier WG 2.5 proposal), intrinsic functions (also discussed previously), environmental parameters as accepted by TC2 but with reference to means of access also, and calling user-written code from library software. Discussion: The meeting discussed the need to have dynamic storage allocation particularily so that one could remove internal work arrays from the parameter lists of library 'black-box' routines. Dr. Smith felt that it would take a long time before many of the systems without dynamic allocation could be safely ignored. The new Bell FORTRAN implementation had static and dynamic allocation, said Dr. Brown. He also asserted that the 1966 standard did not explicitly disallow dynamic storage allocation. Dr. Reid was definitely in favour of pressing for dynamic array storage even though it weakened to some extent the case for the MAP statement, which he still continued to support. The topic of keywords in argument lists was discussed at length. It was agreed that such a facility could be useful both to the library software designer and the user. Professor Hull was concerned though about default assignment where the keyword was omitted. Finally the problem of 'reverse communication' (Section 9) was considered. Dr. Lawson was keen on the idea of internal (i.e. nested) subroutines but Dr. Reid was concerned about practical complications. He would welcome views on that subject particularly. (e) Interests in D.o.E. for Future FORTRAN Dr. Smith reported on activities within the U.S. Department of Energy with regard to future development of scientific computer languages in general and of FORTRAN in particular. The 'Advanced Computing Committee' had been established by D.o.E. (then E.R.D.A.) in the latter half of 1976. The committee was formed to formulate an approach which would permit proper management and utilization of the Department's large computer systems. Several sub-committees had been formed to pursue particular interests; one of those was the Language Working Group, established in 1976. The group, though it had broad terms of reference had decided that since inter-site communication was so important it must focus much of its attention on the FORTRAN language. It had already formulated an approach of recommending extensions to FORTRAN 77, using it as a base. The current recommendations were in the form of a nested sequence of FORTRAN 77 extensions (in 3 levels), each level addressing specific goals of the Language Working Group. Level 0 was FORTRAN 77 itself. Level 1 consisted of Level 0 and additional features such as data-directed input/output, and other facilities considered to be in common use at D.o.E. sites already. The next level described features which were deemed desirable and might already be implemented at D.o.E. sites. An example of such a feature would be a text 'include' and macro facility. Level 3 would consist of machine-dependent and experimental additional features. Dr. Smith concluded his presentation by summarising the current status of the proposals and their prospects for eventual implementation. (A more detailed description of Dr. Smith's report has been prepared after the WG 2.5 Toronto meeting and is being distributed with the minutes). Discussion: Professor Rice was informed that the D.o.E. committees had maintained close contact with X3J3 (they had two members in common). Dr. Lawson ascertained that compilers and related facilities required to implement various proposals might well be contracted to companies in the private sector. Dr. Smith stressed the importance of having practical implementation experience of proposed language features when presenting the case for the formal adoption of such features to bodies such as X3J3. He asked for views on any other possible outlets for experimentation. Dr. Brown felt that it was fruitless to proceed with still further extensions to FORTRAN. The relatively inflexible attitude of X3J3 had unwittingly, been its greatest strength, in his opinion. He added that there were no plans for a new PFORT verifier until stable implementations of FORTRAN 77 emerged. Dr. Einarsson asked about reports of a U.S. Navy verifier. As .or the state of FORTRAN 77 implementations by major manufacturers, Dr. Smith said that he believed CDC to be more advanced than IBM. --- Future FORTRANs - "Intrinsic Functions (continued) Dr. Reid distributed a paper entitled 'Intrinsic Functions for Numerical computation'. It was an updated version of the paper of the same name the day before and was the result of further discussions between interested parties. Dr. Reid described the principal changes made to the paper (dated May 3). The second paragraph of page 1 had been reworded. Definitions in the second section had been refined to remove deficiences and side-effects. He now considered that epsilon function should be defined at the limit. The meeting was invited to comment on the revised document. Professor Stutter considered the definition of the radix on page 3 to be 'unusual'. Dr. Einarsson was concerned about the use of the term 'processor representation'. The use of the explicit constant 1.0 on page 4 was not advisable, said Professor. Dekker, but Dr. Einarsson commented that FORTRAN 77 implementation notes stated that small integers were to be exact in floating point form. Computing systems with pecularities such as higher accuracy in the processor than in store could present implementation difficulties, said Professor Rice. Perhaps an extra paragraph in Section 4 was required. Several comments on presentation were made. Professor Hull felt that fraction and exponent notation should be used. It was agreed to remove the use of FORTRAN-like notation from the mathematical expressions and to use '=' for normal mathematical equations and ':=' for assignments. Professor Fosdick suggested the use of bold type or underlining for function names in the midst of the prose. Dr. Reid agreed to have the paper retyped and circulated to group members for comment. It would then be presented to SIGNUM and other appropriate for wider exposure (with a presentation at the joint SIGNUM/X3J3 session perhaps). The eventual aim was to submit the paper to X3J3 and to IFIP. A copy of the retyped paper, which should have been dated May 4 but bore the date May 3, was later distributed to the meeting. Future FORTRANs - General Dr. Brown gave a brief informal review of the future of FORTRAN. He considered the language to be inadequate in many respects. Its main virtue was that it was relatively stable and widely available. The many proposals presented to X3J3 which could lead to radical extensions threatened that stability. He was, therefore, opposed to such proposals in general. The best way to make substantial progress was not to tinker with a poorly designed base but to make a decisive change to a new language. He also regretted that there appeared to be undue emphasis within the group on political considerations rather than on technical issues. The meeting discussed the merits of an evolutionary development of FORTRAN. Dr. Smith gave examples that showed defects in that approach but Professor Hull felt that progress could be made even if at the cost of more complications for the compiler writer. Mr. Hague said that the proposed changes to FORTRAN in the 1977 standard gave some cause for optimism in the context of a multi-machine library in several languages, i.e. in some respects the gap between languages was narrowing. Professor Fosdick considered how new advanced features could be painlessly introduced into current languages. With regard to Dr. Brown's final point, Professor Dekker and Professor Stetter asserted that WG 2.5 had to be concerned with more than just technical issues if its deliberations were to have any effect. It was agreed that Dr. Reid should submit his paper on 'FORTRAN 82' to the FORTRAN Development Newsletter FOR-WORD as a personal note.