BRITISH COMPUTER SOCIETY FORTRAN SPECIALIST GROUP
Minutes of a Meeting held
on Friday, 2nd March 1973
at Barnard's Inn, Holborn
Bars, London EC1 at 10.30
a.m.
Present: Mr B.H. Shearing (Acting Chairman) Alcock Shearing & Partners
Mr E.O. Bodger IBM Information Services
Mr P.D. Bond Philips Industries
Mr J.C. Cullen B.P.
Dr A.C. Day University College London
Mr I.D. Hill M.R.C.
Mr J.P. Holland Tunnel Cement Ltd.
Mr K. St.Pier G.E.C.
Mr T.L. van Raalte U.K.A.E.A.
Mr D. Winstanley University of Birmingham
Mr D.T. Muxworthy (Secretary) Edinburgh R.C.C.
Apologies Mr P.J. Hammond B.P.
for Mr D.H. Marwick Heriot-Watt University.
Absence:
ACTION
1. APPOINTMENT OF The Chairman of the Group, Mr Gatehouse, had
ACTING CHAIRMAN unfortunately found it necessary to resign
following his move from G.E.C. to I.C.L. The
vice-chairman, Mr Shearing, had agreed to act
as chairman until the Annual General Meeting.
Mr Shearing paid tribute to Mr Gatehouse's
work for the Group; the Group was formed on
his initiative in January 1970 and during hiss
three years as chairman it had been very active
and had established an international reputation.
The Group hoped that Mr Gatehouse would be able
to continue as an active member.
2. APPROVAL OF The minutes of the meeting of the 7th
MINUTES December 1972 were approved.
3. MATTERS ARISING a. No information was available on the IDKK
FROM THE MINUTES project to collect information on
"sub-standard" compilers.
b. There had been no action on the JSG
proposal to form a language contractions
working party.
4. SPECIALIST GROUPS' Mr Shearing reported on a meeting of chairmen
CHAIRMEN'S METING of BCS Specialist Groups held on February 16.
This was an active committee and was a means
by which the members could influence the
society.
5. COMPUTER The Computer Journal had published yet another
JOURNAL ill-informed letter about Fortran and there
was concern that this would eventually bring
the Journal into disrepute. After some
discussion it was decided that the Chairman BHS/DTM
and Secretary should write to the Editor of
the Journal correcting the technical points
and arguing again that letters containing
technical matter should be refereed.
6. COMPUTING The Group had already expressed its concern,
at the Chairmen's meeting, about the quality
of the content of "Computing" and in particular
about the lack of a vehicle for the semi-
technical papers which formerly appeared in
the Computer Bulletin; this was echoed in the
discussion at this meeting. The BCS was
allowed only one page in "Computing" and there
was insufficient space even to give
adequate notice of branch and specialist
group meetings. It was decided that the
Secretary should request Computer Weekly DTM
to print announcements of this Group's
meetings. It was suggested that articles
emanating from the Group may be suitable
for the news pages of Computer Weekly or
"Computing".
It was said that "Computing" was important
to the finances of the BCS. "Computing"
had not accepted the invitation to send
a reporter to the meeting.
7. ADVERTISING. The Chairman read part of a letter from
Mrs Roberts of the BCS, the relevant
paragraphs of which are shown in appendix A
to these minutes. The letter asks that
the Group make available its membership
list to the Society for advertising
purposes.
In a group of this size, distributing one
sheet of paper to each member would provide
about £16 net profit to the BCS, two sheets
£23 and so on.
The feeling at the meeting was that if this
helped the Society, the Group should
cooperate. However, if any member does not
wish his name to be forwarded to the BCS
Marketing Committee (the information does
not go outside the BCS) he should inform the
secretary of this before 9 April 1973. All
Members resident outside Europe will not be
included in this list. (The Secretary's
address is: Edinburgh R.C.C., King's
Buildings, Edinburgh EH9 3JZ).
8. ANSI X3J3 Information on the ANSI X3J3 meetings
PROGRESS of November 1972 and January 1973 was
to hand. The Secretary reported that
an above average number of decisions
were taken at these meetings, many of them
in the nature of clarifications, but a
few approved quite new facilities which
had not been under discussion for long.
The principal features approved were:
a. mixed - mode arithmetic (a rather
weak proposal)
b. generic functions
c. extensions to the EXTERNAL statement
to distinguish user-supplied &
processor-supplied functions and
generic & non-generic functions.
d. ENTRY
e. direct-access input-output with OPEN,
CLOSE and INQUIRE statements
f. list-directed input-output (ie free
format)
g. SAVE - providing an 'own' variable
facility.
h. integer zero suppression control,
allowing leading zeros instead of
leading blanks on output.
X3J3 had decided not to proceed on:
a. Alternate returns (RETURN I)
b. Label data type
c. Bit data type
It was decided to submit to X3J3 an
alternative method of controlling leading
zeros, and to deplore recent extensions
to the PRINT statement. The Group's
submission is shown in Appendix B to these
minutes. The up-to-date list of approved
extensions is in Appendix C.
The proposals sent to X3J3 by this Group
in December (Appendix A of minutes of
December 7 1972) were referred to the
subgroups of X3J3. The full committee
made straw votes on the proposals thus:
1 (remove subarray) (9-7)
2 (remove reverse cross-sections) (9-8)
3 (remove cross-sections) (5-12)
4 (not restrict order of specification
statements) (8-6)
5 (different CHARACTER syntax) (3-12)
6 (allow character functions) (7-4)
7 (implied-DO same as DO) (15-0)
8 (change "PARAMETER") (2-10)
9 (UNIT= in BACKSPACE, etc.) (12-4)
10 (no INQUIRE) (1-13)
11 (direct access I/O) (Another proposal
was approved at January meeting)
12 (full word keywords) (3-11)
13 (OPEN and CLOSE) (Another proposal was
approved at January meeting)
9. DATAFAIR Mr Shearing urged members to attend
Datafair, another entity important to
the finances of the Society. There
was some discussion on detailed plans
for the Group's presentation "Fortran,
the way ahead".
10. REPORTS FROM The Diagnostics Working Party having
THE WORKING been wound up, there were three
PARTIES extant and one proposed working parties.
a. The Extensions Working Party had
not met since the previous meeting.
b. Mr Marwick had indicated that
progress was being made on writing
the final report of the Free Format
Working Party. It was anticipated
that the report would be sent to
all members of the Group.
c. The Small Machines Working Party
was dormant.
11. OTHER BUSINESS a. The ISO Fortran Standard was said
to cost £10.25. Members were advised
that the ANSI standard cost £2.00 and
was available from BSI.
b. Dr Day said that his report on the
ISO TC97/SC5 meeting in Washington
would be available in a few weeks'
time and that copies, price 30p post
free, could be obtained from the
Librarian, University College Computer
Centre, 19 Gordon Street, London
WClH 0AH.
12. DATE OF NEXT The next meeting will be held on Friday
MEETING May 18, 1973 at l0.30 a.m. in the Tearoom
of Barnard's Inn. Holborn Bars, London ECl.
D.T. MUXWORTHY
12.3.73
js
M E M O R A N D U M
To: Specialist Groups' Chairmen.
FROM: Mrs Frances Roberts Executive Officer, Technical/Branches
______________________________________________________________________________
The new Committee of the Society, the Marketing Committee, which has
replaced the former Conference Committee, are anxious to obtain names
and addresses of all 'Friends of the Society' i.e. all people who
frequently attend organised meetings. The purpose of obtaining this
information is to set up an efficient mailing system to advertise, to
those who may be interested, forthcoming events and publications. If your
particular Group has such a list and your Committee agree to disclose the
information, I would very much appreciate receiving a copy.
I am also enclosing a list of the charges which will be made to outside
organisations for circulation of advertising material to Branches and
Specialist Groups of the Society. No leaflets, newsletters etc will be
circulated without an accompanying letter from the Chairman of the
Branch/Group consenting that the information should be mailed to his
appropriate members; a sample of the circular will be forwarded to the
Chairman by myself for his approval prior to any mailing.
js
Ref DTM/1298 Date 18 June 1973 Telephone 031-667 1081 Ext 2642
To: ANSC X3J3
From: D.T. Muxworthy (for BCS Fortran Specialist Group)
Subject: Proposed Amendments to Approved Extensions of the FORTRAN Standard.
Proposals 1, 2, 3 present an alternative way of obtaining unsuppressed leading
zeros on output. The acceptance of proposal 1 would make redundant the
currently approved extension (/40,4.5).
Proposal 1:
That a minimum width designator be provided with the form:
nM (n≥0)
The nM descriptor would be a field descriptor and its effect would persist until
another nM descriptor were interpreted or the output statement were completed.
It would have the following effect:
On input, no effect;
On output, all integers would be printed with at least the rightmost n digits of
the field. If the field descriptor were Iw, the sign if required would float
from the (w-n)th position (if any) to the first position according to the
magnitude of the corresponding integer list element. Also if n=0 and the
corresponding list item were zero, the field would be filled with blanks. If
w<n the output field would be filled with asterisks.
When format control was initiated a minimum width of 1 would be established.
Rationale 1:
The syntax of the currently approved extension, In.d, is similar to that of the
forms for real variables, such as Fw.d, but the relationship of n to d is not
that of w to d.
The desired effect on the output field is more akin to the effect of the P scale
factor. An advantage of the M descriptor is that it may be extended to apply
to real variables (proposal 2 below). It is intended that nM,Iw would have an
effect identical to that of Iw.n in the present extension.
Proposal 2:
That the M field descriptor (proposal 1 above) should apply also to variables
of type real, double precision and complex converted by D,E,F or G field
descriptors with the following effect:
On input, no effect;
On output, all variables of type real, double precision and complex would
be printed with at least n digits before the decimal point. The sign, if any,
would precede immediately the n digits before the point. If n=O and the only
digit to be printed before the point were zero, and one or more digits were
to be printed after the decimal point, the digit would not be printed and
the sign, if any, would immediately precede the decimal point. If the total
field width specified by the conversion field descriptor were insufficient
for the n digits (and the sign if appropriate) to be printed the field would
be filled with asterisks. When format control was initiated a processor-
defined minimum width would be established.
Rationale 2:
Apart from moving the position of the sign, this proposal essentially involves
replacing a specified number of leading blanks by leading zeros. It would
allow the user more control over the exact form of his output field, for
example the 1966 standard allows the implementor an option here (21R4,5).
It would not however allow the user to print a blank field in place of
a real number, and it would not allow a decimal point (only) to be printed.
Proposal 3: (if proposal 2 is rejected, this proposal is not necessary)
That the M field descriptor (proposal 1 above) may be written with the form:
M
with the following effect:
The minimum field width is set to the processor-defined default value for all
appropriate types of conversion code.
Rationale 3:
The default minimum width for integers is 1 but for real variables it may be
0 or 1.
Proposal 4:
That recent extensions to "formatted" output statements be rescinded so that
the only forms allowed for such output to sequential logical units be:
WRITE (U,f) [list]
PRINT f [,1ist]
PUNCH f [,1ist]
for both formatted and list-directed output (except that PUNCH be not allowed
with list-directed output).
Rationale 4:
We doubt if the currently approved extensions have achieved their aim of
making the language more regular. For example PRINT is a synonym for WRITE
in one case (WRITE(u,f)), is similar but references a different device in
another (WRITE f), and is not allowed in a third (WRITE(u)). Accepting this
proposal would leave this situation:
a single keyword, WRITE, which may be used to accomplish all forms of output,
plus two special abbreviated forms which are of use particularly from
terminals and for teaching.
Contrary to Ward Klein's memo of February 27, 1973, PUNCH does play a useful
role because the user may assume that the first character transmitted in each
record will be output, whereas with the PRINT statement he assumes that it will
be used for carriage control.
EXTENSIONS AND REVISIONS APPROVED APPENDIX F X3/40
1. INCLUDE APOSTROPHE IN CHARACTER SET. (/21,4.1)
2. ALLOW DECIMAL DIGITS IN STOP AND PAUSE. (/21,4.2)
3. MAKE CHARS. IN STOP STAT. ACCESSIBLE. (/21,4.3)
4. REMOVE CONCEPT OF SECOND LEVEL DEFINITION. (/24,4.1)
5. ALLOW APOSTROPHES TO DELIMIT HOLLERITH STRINGS. (/24,4.2)
6 ALLOW T FORMAT FIELD DESCRIPTOR. (/24,4.3 AND 4.4)
7. ALLOW APOSTROPHE TO DELIMIT CHAR. STRING IN PAUSE.(/24,4.5)
8. SPECIFY THAT CONSECUTIVE SLASHES IN FORMATS CAUSE
BLANK LINES WHEN PRINTED. (/24,4.6)
9. ALLOW INTEGER EXPRESSION IN COMPUTED GOTO. (/25,4.1)
10. WHEN COMPUTED GOTO EXPR. IS OUT OF RANGE, EXECUTE
FOLLOWING STATEMENT NEXT. (/25,4.1)
11. ALLOW AS TERMINAL STAT. OF DO LOOP ANY EXEC. STAT. THAT
ALLOWS EXECUTION OF THE FOLLOWING STAT. (/25,4.2)
12. REQUIRE ASSIGN STAT. AND ASSOCIATED ASSIGNED GOTO STAT.
TO BE IN SAME PROGRAM UNIT. (/25,4.3)
13. ALLOW ASSIGN STAT. TO SET VAR. FORMAT. (/25,4.4)
14. FIX NO. OF RANGE EXECUTIONS AND INCR. AT DO STAT. (/25,4.5)
15. ALLOW NEG. VALUES IN DO PARAMETERS. (/25,4.5)
16. ALLOW REDEF. OF DO PARAMETERS WITH NO EFFECT ON NO.
OF ITERATIONS. (/25,4.5)
17. ALLOW MULTIPLE ASSIGNMENT STATEMENTS. (/27,4.3)
RESCINDED. (/37,4.4)
18. OPTIONAL COMMA IN COMPUTED AND ASSIGNED GOTO.(/27,4.4)
19. OPTIONAL LIST IN ASSIGNED GOTO. (/27,4.5)
20. OPTIONAL COMMA IN DO AFTER STAT. LABEL. (/27,4.6)
21. ALLOW FUNCTIONS WITH NO ARGUMENTS. (/27,6.7)
22. ALLOW ALL TYPES OF ARITHMETIC ASSIGNMENT STATEMENTS.(/29,4.1}
23 ALLOW INTEGER EXPRESSIONS IN DO STATEMENTS. (/29,4.2)
24. REWIND HAS NO EFFECT AT INITIAL POSITION. (/29,4.3)
25. ALLOW END= IN READ STATEMENTS. (/29,4.4)
26. ALLOW READ, PRINT AND PUNCH STATEMENTS. (/30,4.1)
27. ALLOW IMPLICIT STATEMENT. (/30,4.2)
28. ALLOW REAL AND DOUBLE PREC. DO CONTROL VARS. (/30,4.3)
29. ALLOW ANY ARITH. EXPR. IN DO PARAMETERS WITH CONVERSION
TO CONTROL VAR. TYPE BEFORE USE. (/30,4.4)
30. ALLOW BRANCHING INTO RANGE OF ANY ACTIVE DO. (/30,4.5)
31. MINIMUM DO ITERATION COUNT IS ZERO. (/30,4.6)
32. ALLOW PROGRAM STATEMENT. (/31,4.1)
33. ALLOW MANY LEVELS OF PARENTHESES IN FORMATS. (/31,4.2)
34. FORMAT CHAR. TO STOP FORMAT SCAN AT END OF LIST. (/31,4.3)
35. ALLOW EXPRESSIONS IN OUTPUT LISTS. (/31,4.4)
36. ALLOW QUOTED CHAR. CONSTANTS IN OUTPUT LISTS WITH A FIELD
DESCRIPTOR. (/31,4.5)
37. ALLOW MORE BASIC EXT. AND INTRINSIC FUNCTIONS. (/31,4.6-4.8)
38. RIGHT TO LEFT GROUPING OF SUCCESSIVE EXPONENTIATIONS.(/31,4.9)
39. LEFT TO RIGHT EVALUATION OF SOME EXPRESSIONS. (/31,4.9)
40. ALLOW ERR= IN READ/WRITE STATEMENTS (/33,4.1)
41. ALLOW GENERALIZED SUBSCRIPT EXPRESSIONS. (/33,4.2)
42. ALLOW SEVEN DIMENSIONS. (/33,4.3)
43. ALLOW ARRAY ELEMENTS IN STATEMENT FUNCTION DEFINITIONS.(/33,4.4)
44. ALLOW MORE THAN ONE FILE ON ONE SEQUENTIAL I/O UNIT. (/33,4.5)
45. ALLOW A COMPLEX NO. TO BE EOUIV. TO TWO REAL NOS. (/33,4.6)
46. ALLOW ADJUSTABLE DIMENSION VALUES TO BE IN COMMON. (/33,4.7)
47. ALLOW ADJ. DIM. VALUES TO BE CHANGED WITHIN A SUBPROGRAM
WITHOUT AFFECTING ARRAY SIZE. (/33,4.8)
48. ALLOW INTEGER EXPRESSIONS AS ADJ. DIMENSIONS. (/33,4.9)
49. ALLOW NON-UNITY LOWER BOUNDS FOR ARRAY DIMENSIONS. (/33,4.10)
50 ALLOW ARRAY ASSIGNMENT STAT. WITH ANY ARITH. EXPR. (/33,4.11)
51. DIRECT ACCESS I/O WITH OPEN AND CLOSE. (/34,4.1,4.2)
52. ALLOW ARRAY NAME WITHOUT SUBSCRIPT IN EQUIVALENCE.(/34,4.3)
53. SPECIFY UNITS OF ARGUMENTS AND RESULTS FOR BASIC
EXTERNAL FUNCTIONS. (/34,4.4)
54. ALLOW NAMING OF BLOCK DATA SUBPROGRAMS. (/34,4.5)
55. ALLOW MORE THAN ONE BLOCK DATA SUBPROGRAM. (/34,4.6)
56. ALLOW (-*) NOTATION FOR REVERSE CROSS-SECTION. (/34,4.7)
57. ALLOW SUBARRAY STAT. WITH BY CLAUSE. (/34,4.8)
58. END ACTS LIKE STOP OR RETURN. (/34,4.9)
59. ALLOW -NX AND +NX FOR I/O RELATIVE TABBING. (/34,4.10)
60. ALLOW + SIGN ON SCALE FACTOR. (/34,4.10)
61. RESTRICT SCALE FACTOR RANGE ON E,D,G OUTPUT. (/34,4.11)
62. PRINT ALL ASTERISKS WHEN NO. EXCEEDS FIELD. (/34,4.12)
63. ALLOW CONTROL OF EXPONENT SIZE ON E AND D OUTPUT. (/34,4.13)
64. MUST PRINT + SIGN ON POSITIVE OR ZERO EXPONENT. (/34,4.14)
65. ALLOW A CONSTANT (PARAMETER) STATEMENT. (/34,4.15)
CHANGED TO PARAMETER STATEMENT. (/37,4.1)
66. ALLOW LIST-DIRECTED I/O. (/34,4.16)
67. CHARACTER DATA TYPE. (/35,4.1)
68. ALLOW IMPLIED DO IN DATA STATEMENT. (/35,4.2)
69. ALLOW ARRAY NAME WITHOUT SUBSCRIPT IN DATA STAT.(/35,4.3)
70. ALLOW ENTRY STATEMENT. (/36,4.1 AND /39,4.13)
71. ALLOW BLOCK I/O TRANSFER, E.G. A(I)...A(J). (/36,4.2)
72. ALLOW NONFORTRAN CHARS. ON COMMENT LINES. (/36,4.3)
73. ALLOW BACKFILE AND SKIPFILE STATEMENTS. (/36,4.4)
74. ALLOW BACKSPACE N RECORDS. (/36,4.4)
75. SPECIFY SYNTAX AND OTHER CLARIFICATIONS FOR CHARACTER
DATA TYPE. (/36,4.5)
76. ALLOW EXTRA DIGITS ON REAL, DOUBLE, AND COMPLEX CONSTANTS
AND INPUT DATA. (/36,4.6)
77. RESTRICT ARRAY ASSIGNMENT STATEMENT ON OVERLAP. (/36,4.7)
78. ALLOW DPROD FUNCTION. (/36,4.8)
79. NOT ALLOW SIMPLE I/O LISTS ENCLOSED IN PARENTHESES.(/37,4.2)
80. DEFINE DO CONTROL VAR. AT NORMAL COMPLETION OF LOOP.(/37,4.3)
81. CLARIFICATIONS OF IMPLIED DO IN DATA STAT. (/39,4.1)
82. ALLOW EACH NAMED COMMON BLOCK IN ONLY ONE BLOCK DATA
SUBPROGRAM. (/39,4.2)
83. ALLOW E AND F DESCRIPTORS WITH DOUBLE PREC. DATA.(/39,4.3)
84. ALLOW EW.DEE INSTEAD OF EW.D.E (/39,4.4)
RESCIND DW.D.E AND ALLOW EW.DDE (/39,4.4)
85. GET ALL *'S IN OUTPUT FIELD IF EXPONENT IS TOO LONG. (/39,4.5)
86. INCLUDE PUBLISHED CLARIFICATIONS, MAY 69 AND OCT 71(/39,4.6)
87. ALLOW MIXED DATA TYPES IN EXPRESSIONS. (/39,4.7)
88. REQUIRE COMPLETE SPECIFICATION BEFORE USE OF A VAR. (/39,4.8)
89. FUNCTION TYPE CONV. IS SAME AS ACROSS = IN ASSIGNMENT
STATEMENT. (/39,4.9)
90. ALLOW FUNCTION AND ENTRY NAMES IN TYPE STAT. (/39,4.10)
91. ALLOW * IN EXTERNAL STAT. TO SPECIFY USER PROCEDURE.(/39,4.1)
92. ALLOW AUTOMATIC TYPING OF FUNCTION NAMES. (/39,4.12)
93. REMOVE DELAYED DEFINITION OF ASSOC. INPUT ENTITIES.(/39,4.14)
94. DO NOT ALLOW COMPLEX DO PARAMETERS. (/39,4.15)
95. SUGGEST IDENTIFICATION OF NONSTANDARD EXTENSIONS. (/39,4.16)
96. DIRECT ACCESS I/O WITH OPEN AND CLOSE. (/40,4.1)
97. OPEN OPTION TO IGNORE INPUT BLANKS. (/40,4.2)
98. LIST-DIRECTED I/O. (/40,4.3)
99. SAVE STATEMENT. (/40,4.4)
100. ZERO SUPPRESSION CONTROL WITH INTEGER OUTPUT. (/40,4.5)
101. OUTPUT SIGN CONTROL, S FIELD DESCRIPTOR. (/40,4.6)
102. REQUIRE NONZERO FORMAT GROUP REPEAT COUNT. (/40,4.7)
103. RESTRICT USAGE OF MAIN AND BLOCK DATA NAMES. (/40,4.8)
104. REMOVE DUPLICATE GENERIC FUNCTION NAMES. (/40,4.9)
105. REMOVE RESTRICTION ON DEF. OF DUM. ARG. WHEN ACTUAL ARG.
IS IN COMMON IN REFERENCING PROGRAM ONLY. (/40,4.10)
106. ALLOW EW.DEE AND EW.DDE WITH COMPLEX DATA. (/40,4.11)
107. ALLOW DW.D WITH REAL AND COMPLEX DATA. (/40,4.12)
108. ALLOW GW.D WITH DOUBLE PRECISION DATA. (/40,4.13)
109. ALLOW PRINT(U,F) AND WRITE F STATEMENTS.(/40,4.14)