BRITISH COMPUTER SOCIETY FORTRAN SPECIALIST GROUP


Minutes of a meeting on Thursday,

21st October 1971 at B.C.S.

Headquarters, 29 Portland Place,

London, W.1. at 10.30 a.m.


PRESENT:

Mr J.S. Gatehouse (Chairman)    GEC-EE Ltd.        

Dr J.C. Baldwin                 Atlas Computer Laboratory, Chilton

Mr P.D. Bond                    Philips Industries

Mr R.L. Butchart                D.T.I.

Mr J.C. Cullen                  B.P.

Mr I.E. Davidson                N.C.R.

Mr R.E. Day                     Edinburgh R.C.C.

Mr P.J. Hammond                 B.P.

Mr I.D, Hill                    M.R.C.

Mr I.D.K. Kelly                 Olympic Computer Services

Dr M. Kennedy                   Queens University, Belfast

Mr K. St. Pier                  G.E.C.

Prof P.A. Samet                 University College, London

Mr B.H. Shearing                Alcock Shearing & Partners

Mr R.E. Small                   C.A.P.

Mr I.A.G. Snowball              A.E.R.E., Harwell

Mr D.T. Muxworthy (Secretary)   Edinburgh R.C.C.


APOLOGIES

FOR

ABSENCE:

Dr A.C Day                      University College, London

Mr M.J. Garside                 University of Kent at Canterbury

Dr I.C. Pyle                    A.E.R.E., Harwell



1. APPROVAL OF    The minutes of the meeting held on Tuesday 12th January

   MINUTES        1971 were approved.


2. MATTERS        No matters were raised under this item.

   ARISING


3. REPORTS FROM   a. Diagnostics working Party.  Professor Samet            ACTION

   THE WORKING    reported that the working party consisted of

   PARTIES        Professor D. Barron, Mr I.D. Hill, Miss E. Wilson

                  and himself, and that one meeting had been held.

                  The technical work of the group was outlined at

                  the meeting and a summary contributed by Mr Hill

                  is appended to these minutes.


b. Free Format Working Party. No information on

this group was available and its Chairman was to be          DTM

asked to provide a written report.  It later transpired

that the Chairman had sent a report direct to BCS HQ

but this was not delivered to the meeting; it is

appended to these minutes.


c. Small Machine Working Party. Mr Garside had

indicated, when intimating his apologies for missing

the meeting, that there had been little progress in

this group and that he would welcome the opportunity

to relinquish the chairmanship.  Mr Shearing expressed

interest in the group and said that he could devote

time to it in the new year.  It was decided to take no

action for the present.


d. Extensions working Party. Mr Shearing reported that

this group had concentrated on two major subjects: general

expressions and type CHARACTER; a technical summary is

appended to these minutes.  It had been discovered only

recently that the final ANSI committee meeting at which

new ideas would definitely be considered would be on

November 18 and that the group's report may therefore be

in the form of a discussion rather than definite

recommendations.  It was decided that the report would

be considered as a submission to ANSI by the individuals

concerned as there was insufficient time to obtain Fortran

Specialist Group or BCS approval. The report would           BHS

however be circulated to the Group and submitted to the

Computer Bulletin.  The ANSI committee were to be asked      DTM

to supply a copy of the new draft Standard so that it

could be checked for inconsistencies.


4. CURRENT ANSI   The Secretary reported on meetings he had had with

   ACTIVITY       Mr J.C. Noll, a member of the ANSI X3J3 Fortran

Committee. Mr No11 had supplied a number of

documents indicating the lines of thought of

X3J3. The revision of the ANSI Standard was

much wider than had been realised by the BCS Group

and in some cases went beyond what had been implemented

on available compilers. A list of ideas for consideration

as extensions, appendix E of X3J3 meeting 29 in August

1971, is attached. (It will be noted that items from

the BCS Extension Working Party's first report appear

between points 90 to 105; these were usually voted on

and accepted or rejected, verbatim).


Mr Noll a1so explained the reasons for the name changes

of ANSI.  The original, American Standards Association,

was objected to by Canadians on the grounds that they too

were American but were not represented.  The name of the

country was therefore incorporated, to make United States

of America Standards Institute, but this drew objections

from Ralph Nader who pointed out that the name was

indicative of a government agency, not a voluntary

organization. Hence the name was changed to American

National Standards institute.


5. OTHER          The chairman raised the question of the future activity

   BUSINESS       of the Group now that much of the initial work related

to the new ANSI Standard was drawing to a close. It

had been suggested that the Group organize lectures or

seminars for both "external" and "internal" education.

The former would inform the public about Fortran matters,

including publicizing Standards; the latter would

be directed more towards existing members of the group

and would discuss such things as syntax checkers, flowcharting

aids, macroprocessors etc. It was also suggested that

the group should examine the new draft standard and should

act as a watchdog on the manufacturers. No decision as

to whether these were suitable activities was made and

more information was requested for the next meeting.        JSG/DTM


It was noted that the Society appeared to ignore the

expertise available within the Group which could be

used, amongst other things, for testing algorithms

and for replying to letters on Fortran matters in the

Society journals, The Chairman was to raise this            JSG

matter with the Technical Board. It was decided after       JSG

a vote (9 to l with 4 abstentions) to reply to Mr. Sandhir's

letter in the October Computer Bulletin (p.376).


A proposal for a formal resolution that the language

specialist groups should form a closer liaison and that

their chairmen should form a language committee of the

Technical Board was he1d over to the next meeting. It

was hoped that by then an individual approach would have

determined the attitude of the Board to such a resolution.


6. DATE OF NEXT   The next meeting will be held on Thursday 16th December

   MEETING        1971 at 10.30 a.m. at B.C.S. Headquarters.




The "Diagnostics" Working Party consists of:


Prof. P.A. Samet,

Prof. D.W. Barron,

Miss E. Wilson,

Mr. I.D. Hill.


The Working Party met on 6th October 1971; unfortunately

Professor Barron was unable to attend.


It was agreed to concentrate on run-time diagnostics

in the first instance, and to seek to identify the events

that may call for a diagnostic message. The Working Party

are strongly of the opinion that, while speedy running of

a program is very important, speed must take second place

to correctness of results.


An attempt is being made to devise a method that

would be suitable to suggest as a standard "trace" for

Fortran programs.  Desirable features seem to be that

the user Should be able to turn the tracing on or off

as between one run and another, as well as between one

part of the program and another.


To allow subprograms to be separately compiled, the

tracing would have to be independent from one subprogram

to another.


The user should be able to specify a channel number

for the output of tracing, and of other diagnostics.


The tracing information should be in "higher level"

form, directly related to the source language. and should

at least include transfers of control both to labels and to and

from subroutines. 


The user should also be able to specify a "trace list"

naming variables whose names and values would be printed

in the trace information whenever the value changes. This,

however, needs careful thought if difficulties with array

variables, with COMMON, with EQUIVALENCE and with dummy

arguments are to be avoided.




British Computer Society FORTRAN Specialist Group


Report of the Working Party on Free Format


I attach a letter soliciting contributions on Free Format in FORTRAN.

It is being sent to Universities, Research Establishments and Computer

companies as well as to individual members of the Specialist Group and

delegates to the WORKSHOP. An amended version of the letter is being

sent to the Computer Bulletin.


I would be grateful for any suggestions to widen the circulation list.


                                                           David H. Marwick

                                                           (Chairman)

                                                           18.10.71



British Computer Society FORTRAN Specialist Group


Working Party on Free Format


At the FORTRAN Workshop held in Edinburgh in April, a working party on

Free Format in FORTRAN was set up by the Specialist Group; the remit

being to produce proposals, on Free Format of both instructions and data,

which could be presented as a possible addition to Standard FORTRAN.


The working party are therefore seeking contributions from as many

Sources as possible in an attempt to obtain an overall picture of (a)

what people want and (b) what already exists. We are not seeking

ways of implementing Free Format by subroutines, or any flukes, freaks

or fiddles. Our aim is a Standard FORTRAN Free Format facility.


Enclosed is a copy of the report produced from the Free Format Group at

the Edinburgh Workshop. This indicates the current lines of thought of

the Working Party but are by no means definitive. If you have any

contribution to make, on current implementations, or future requirements,

or just ideas; please send it to the address given below.


                                                           David H. Marwick

                                                           (Chairman)

Department of Computer Science,

Heriot-Watt University,

37-39 Grassmarket,

Edinburgh, EHl 2HW.




The "Extensions" Working Party consists of


Mr B.H. Shearing (AS & P)

Mr K.E. Bicknell (Rothamsted)

Mr E. Bodger (IBM)

Dr A.C. Day (UCL)

Mr D. Maisey (ICL)

Mr D.T. Muxworthy (ERCC)

Mr A. Odell (RAE)

Mr C.F. Schofield (ULCC)

Mr R.E. Sma1l (CAP)


It has held four meetings since the Edinburgh Workshop. All the Workshop

Chairmen's notes have been examined and attention has been concentrated on

two items: evaluating expressions and type CHARACTER.


It is suggested- that the procedure for evaluation of expressions be determined

by the hierarchy of operators method commonly used in Fortran textbooks, rather

than the parsing technique of the current ANSI standard.  Within the level

**, unary +, unary -, evaluation should be right to left and in other levels left

to right; this imposes a restriction not present in the 1966 Standard but which

is felt to be desirable.  The mode of the result of any binary arithmetic

operation between operands of different types is determined according to a table

which includes the new type DOUBLE PRECISION COMPLEX; the numeric value of the

result is the same as that obtained by converting both operands to the same type

as the result before carrying out the operation.


The Working party is concerned that the following CHARACTER facilities are in

the next Standard.


1. The ability to move character strings as single entities.

2, The ability to extract and to replace substrings.

3. The ability to convert single characters to small integers and vice versa.

4. The CHARACTER constant must be the existing Hollerith constant.


The syntax of CHARACTER statements is relatively unimportant.


In this session the Working Party has abandoned its rule that decisions must

be unanimously approved and any recommendations made do not necessarily

reflect the views of individual members.




SUGGESTED ADDITIONAL ACTIVITIES FOR THE FORTRAN SPECIALIST GROUP


A series of public lectures, perhaps once a month, in a decent lecture room,

possibly with a charge for attendance.  The topics could include:


What is Standard Fortran.


A code of good. practice for programming in Fortran.


Extensions to Standard Fortran that commonly exist

and can be expected in next revision.


Compiler techniques for Fortran 

Desirable applications of Fortran.

Non-technical applications of Fortran.


The interaction of Fortran with the operating system.


The use of Fortran in a time-sharing environment.


J.S.G.


Occasional seminars to discuss and exchange experience of using programming

aids which are of particular relevance to the Fortran programmer, such as:


Syntax checkers.


Automatic Flowcharting programs.


Program profilers.


Macro processors.


D.T.M.




APPENDIX E   [of X3J3 minutes of August 1971]


   ASSIGNMENTS


GROUP                 AREA                    MEMBERS


1. PROGRAM FORM AND PROGRAMS,                LOVELL*, EATON, MULLINAX,

   FORMAT STATEMENT                          FREEMAN, (JONES)


2. DATA TYPES, IDENTIFIERS                   LAIRD*, GREENFIELD, ENGEL,

                                             NOLL, YOUNG, (GIBSON, INFANTE)


3. NONEXECUTABLE STATEMENTS,                 HOLBERTON*, MIMMACK, BOSWELL,

   PROCEDURES AND SUBPROGRAMS,               (KLEIN, FLETCHER, YOUNG, BARTH}

   INTER-INTRA PROGRAM

   RELATIONSHIPS


4. EXPRESSIONS                               BAILEY*, JONES,

                                             INFANTE, (COLEMAN)


5. EXECUTABLE STATEMENTS                     KARP*, COLEMAN,

                                             (EATON, INFANTE)


6. INPUT/OUTPUT EXCEPT FORMAT                BARTH*, CAMPBELL, GIBSON,

                                             KLEIN, FLETCHER,

                                             (NOLL, FREEMAN)


* DENOTES CHAIRMAN

  NAMES IN PARENTHESES INDICATE A SECONDARY RESPONSIBILITY,

  GROUP CORRESPONDENCE IS TO BE DISTRIBUTED TO THE COMMITTEE.




IDEAS FOR CONSIDERATION AS EXTENSIONS



STATUS CODE        A=APPROVED                 N=NOT RECOMMENDED

                   1=MUST BE IN STD           2=SHOULD BE IN STD

                   3=RECOMMENDED              4=OF SOME VALUE

                   5=OF TRIVIAL VALUE



* MANUF. CODE C=CDC G=GE H=HONEYWELL I=IBM R=RCA U=UNIVAC X=XDS

              B=BURROUGHS D=DEC



NO.-GRP-STATUS                 EXTENSION OR REVISION IDEA


 1-4-1        MIXED REAL-INTEGER ARITHMETIC.

                                        (C,G,H,I,R,U,X,B,D)*

 2-2-A        APOSTROPHE AS HOLLERITH DELIMITER.

                                        (C,G,H,I,R,U,X,B,D)

 3-5-A        MULTIPLE REPLACEMENT ASSIGNMENT STATEMENT.

                                        (C,G, , , , ,X, , )

 4-3-1        MULTIPLE ENTRY SUBPROGRAMS.

                                        (C, , ,I,R,U,X,B, )

 5-1-3        SPECIFY A STATEMENT,DELIMITER CHARACTER. ALLOW MORE THAN

              ONE STATEMENT PER LINE.

                                        (C,G, , , , ,X, , )

 6-2-1        HAVE HOLLERITH OR CHARACTER DATA TYPE. ALLOW HOLLERITH

              CONSTANTS IN ASSIGNMENT AND IF STATEMENTS.

                                        (C,G, , , , , ,B, )

 7-2-2        MORE THAN THREE DIMENSIONS

                                        (C,G, ,I,R,U,X,B,D)

 8-3-2        NONSTANDARD RETURN STATEMENT.

                                        (C,G, ,I,R,U,X,B,D)

 9-6-2        REREAD OR DECODE.

                                        (C,G,H, , ,U,X,B,D)

10-6-2        ENCODE OR EQUIVALENT.

                                        (C, , , , ,U,X, ,D)

11-2-2        AUTOMATIC TYPING OF FUNCTION NAMES. I.E. TYPE OF ARGUMENT

              DETERMINES WHICH FUNCTION IS ACTUALLY USED.

                                        ( , , ,I, ,U, , , )

12-3-5        DATA IN TYPE-STATEMENTS.

                                        ( , , ,I,R,U,X,B, )

13-3-1        IMPLICIT STATEMENT.

                                        ( , ,H,I,R,U,X,B,D)

14-4-N        IMPLIED MULTIPLICATION AFTER A RIGHT PARENTHESIS.

                                        ( , , , , , , , , )

15-5          LOGICAL MASKING STATEMENTS.

                                        (C, , , , ,U,X,B,D)

16-1-2        PROGRAM STATEMENT TO IDENTIFY MAIN PROGRAMS.

                                        (C, ,H, ,R, , , , )

17-1-3        SPECIAL FORMAT DESCRIPTOR FOR VERTICAL SPACE CONTROL.

                                        ( , , , , , , , , )

18-6-2        PARITY ERROR DETECTION ON READING.

                                        (C, , ,I,R,U,X,B,D)

19-6-1        END FILE DETECTION ON READING.

                                        (C,G, ,I,R,U,X,B,D)

20-2          GENERALIZATION OF SUBSCRIPT EXPRESSIONS.

                                        (C,G, ,I, ,U,X,B,D)

21-6-3        NAMELIST STATEMENT.

                                        (C, , ,I,R,U,X,B,D)

22-3-3        INTERNAL SUBPROGRAMS.

                                        ( , , , , ,U,X, , )

23-6-2        FREE FORMAT INPUT DATA, E.G., USE A COMMA AS FIELD DELIMITER.

                                        ( ,G,H,I, ,U,X,B,D)

24-2-N        NAMES LONGER THAN SIX CHARACTERS.

                                        (C,G, , , , ,X,B, )

25-1          IGNORE TRAILING BLANKS IN INPUT DATA.

                                        ( , , , , , , , , )

26-6-N        ALLOW HOLLERITH INFORMATION IN OUTPUT LISTS

              WITHOUT ASSOCIATED FORMAT FIELD DESCRIPTOR.

                                        ( ,G, , , , , , , )

27-3-2        IMPLIED DO LOOP IN DATA STATEMENT.

                                        (C, ,H, , ,U,X,B,D)

28-3-2        ARRAY NAME WITHOUT SUBSCRIPT IN DATA STATEMENT.

                                        (C,G, ,I,R,U,X,B,D)

29-4-2        GROUP SUCCESSIVE EXPONENTIATIONS RIGHT TO LEFT.

                                        ( ,G, ,I,R, ,X,B, )

30-3-1        EXPAND BASIC EXTERNAL FUNCTION LIST.

                                        (C,G,H,I,R,U,X,B,D)

31-3          ADD SOME BASIC SUBROUTINE NAMES.

                                        (C,G,H,I,R,U,X, ,D)

32-5          GENERALIZE DO STATEMENT, I.E., ALLOW EXPRESSIONS

              WITH ZERO AND NEGATIVE VALUES.

                                        ( , , , , ,U,X,B,D)

33-6-A        ALLOW VARIABLE FORMAT STATEMENT LABELS IN I/O STATEMENTS,

              E.G., ALLOW INTEGER VARIABLE NAME THAT HAS BEEN ASSIGNED

              A STATEMENT LABEL 'VALUE' IN AN ASSIGN STATEMENT.

                                        ( , , , , ,U,X, , )

34-2          ALLOW MORE PRECISE PRECISION REQUIREMENTS IN TYPE-STATEMENTS.

                                        ( , , ,I,R, , ,B, )

35-1          ALLOW ADDITIONAL FORMAT FIELD DESCRIPTORS, E.G., R AND T.

                                        (C, ,H,I,R,U,X,B,D)

36-6-3        DEFINE STANDARD ,INPUT DATA SENTINEL AND  MAKE AVAILABLE

              NUMBER OF NUMBERS AND/OR NUMBER OF LINES READ.

                                        ( , , , , , , , , )

37-0-N        SPECIFY SOME LIMITS FOR PROGRAMS, E.G., NUMBER OF LABELS

              ALLOWED IN COMPUTED GOTO STATEMENT.

                                        ( , , , , , , , , )

38-3-3        PARAMETER STATEMENT OR EQUIVALENT.

                                        ( , , , , ,U, , , )

39-2          SOME STANDARD WAY OF PACKING AND UNPACKING MORE THAN ONE

              INTEGER VALUE IN ONE STORAGE UNIT.

                                        ( , , ,I,R,U, , , )

40-6-1        DIRECT ACCESS L/O STATEMENTS.

                                        ( ,G,H,I,R, ,X,B,D)

4L-3-4        STANDARD OVERLAY OR SEGMENTATION SCHEME.

                                        (C,G,H,I, , , ,B,D)

42-6-4        ABILITY TO READ TAPE RECORDS OF UNKNOWN MODE AND LENGTH.

                                        ( , , , , , ,X, , )

43-1-3        EXPLICIT FORMAT DESCRIPTION TO SPECIFY RESCAN POINT.

                                        ( , , , , , , , , )

44-6-2        OPEN AND CLOSE FILES.

                                        (C,G, ,I, ,U, ,B,D)

45-2          STATEMENT LABEL DATA TYPE.

                                        ( , , , , , , , , )

46-5-N        REPEAT STATEMENT.

                                        ( , , , , , ,X, , )

47-1-3        CONDITIONAL COMPILATION.

                                        ( ,G, , , ,U,X, ,D)

48-3-N        DEBUG FACILITIES.

                                        (C,G,H,I,R,U,X,B,D)

49-4-3        ERROR CONDITIONS IN COMPUTATIONS.

                                        (C,G,H,I,R,U,X, ,D)

50-5-N        ERROR HANDLING MECHANISMS.

                                        ( , , ,I, , ,X, , )

51-5-N        MULTI-TASKING FACILITIES.

                                        ( , , , , ,U, , , )

52-2          CLUSTER DATA.

                                        ( , , , , , , , , )

53-1-N        MACRO FACILITY

                                        ( , , , , ,U, , , )

54-2          STORAGE CLASSES.


55-6-2        BLOCK I/O TRANSFER.

                                        (C, , , , , ,X,B, )

56-6-1        INCLUSION OF READ, PRINT, AND PUNCH STATEMENTS.

                                        (C,G,H,I,R,U,X,B,D)

57-1-A        ADDITIONAL SPECIAL CHARACTERS.

                                        (C,G,H,I,R,U,X,B,D)

58-1-2        LOWER CASE ALPHABETICS.

                                        ( ,G, , , , , , , )

59-1-3        EMBEDDED COMMENTS.

                                        ( , , , , ,U, ,B, )

60-5-A        NOT RESTRICT STRINGS IN STOP AND PAUSE TO OCTAL DIGITS.

                                        (C, ,H,I, ,U,X,B,D)

61-2          STRUCTURE DATA TYPE.

                                        ( , , , , , , , , )

62-5-N        NULL STATEMENT LABELS, E.G. IN IF STATEMENTS.

                                        ( , , , , ,U, , , )

63-2-A        DELETE SECOND LEVEL DEFINITION.


64-6-2        ALLOW EXPRESSIONS IN OUTPUT LISTS.

                                        ( , , , , , ,X,B, )

65-1-N        ALLOW COMMENTS BETWEEN CONTINUATION LINES.

                                        ( , , , , , , , ,D)

66-3-5        ALLOW 'VAR.=CONSTANT' IN DATA STAT.

                                        (C, , , , , , , , )

67-3-4        ALLOW ARRAY NAME WITHOUT SUBSCRIPT IN EQUIVALENCE.

                                        ( ,G,H, , ,U,X,B,D)

68-5-N        ALLOW ASSIGNED GOTO IN DIFF. PROG. UNIT THAN ASSIGN.

                                        ( , , , , , , , , )

69-2          ALLOW TWO STORAGE UNIT INTEGERS, ESP. IN COMMON.

                                        ( , , , , ,U, , , )

70-2          SPECIFY SOME PROCESSOR-DEFINED CONSTANTS, E.G. PI.

                                        ( , , , , , , , , )

71-1          ALLOW PARENTHESES AS FIELD SEPARATORS IN FORMATS.

                                        ( , , , , , , , , )

72-6-3        ALLOW READING MORE CHARS. THAN WRITTEN, GET BLANKS.

                                        (C, , , , , ,X, , )

73-6-A        ALLOW CONSECUTIVE SLASHES TO CAUSE BLANK PRINT LINES.

                                        (C,G,H,I,R,U,X,B,D)

74-1-5        BLANK INPUT FIELD DETECTION.

                                        (C, , , , , , , , )

75-6-N        NEG, I/O UNIT IMPLIES BACKWARD OPERATION.

                                        ( , , , , , , , , )

76-3-N        ALLOW INITIALIZATION OF BLANK COMMON.

                                        ( , , , , , , , B, )

77-3-1        SPECIFY UNITS OF STD. FUNCTION ARGS. AND RESULTS.

                                        (C,G,H,I,R,U,X,B,D)

78-2          ALLOW SUBSCRIPT EXPRESSIONS LESS THAN ONE,

                                        ( , , , , , ,X, ,D)

79-5-N        ALLOW TWO STAT. NO. IF STATEMENT.

                                        (C, , , , , ,X, ,D)

80-5          REDUCE RESTRICTIONS ON EXTENDED RANGE.

                                        ( , , , , , ,X,B, )

81-2          ALLOW STATEMENT NOS. AS DATA, E.G. WITH TRAILING S.


82-3-N        DYNAMIC STORAGE ALLOCATION OF ARRAYS.

                                        ( , , , , , , ,B, )

83-1          COMPLEX FORMAT FIELD DESCRIPTOR.

                                        ( , , , , , , , , )

84-1          IGNORE EMBEDDED BLANKS IN NUMERIC INPUT DATA.

                                        ( , , , , , , , , )

85-5-A        MAKE CHARS. IN STOP ACCESSIBLE.

                                        (C, ,H,I, ,U,X, ,D)

86-1-2        ALLOW MORE PARENTHESE LEVELS IN FORMATS.

                                        ( , , , , , ,X,B,D)

87-4-2        ALLOW ARRAY ELEMENTS IN STATEMENT FUNCTION DEFINITION.

                                        (C, , , , , ,X,B,D)

88-5          DO NOT ALLOW EXTENDED RANGE.

                                        ( , , , , , , , , )

89-2          BINARY OR BOOLEAN DATA TYPE.

                                        ( , , , , ,U, , , )

90-4-1        MIXED REAL, INTEGER, AND DOUBLE PREC. ARITHMETIC.

91-5-A        ALLOW ALL ARITH. TYPES OF ASSIGNMENT IN ARITHMETIC

              ASSIGNMENT STATEMENT.

92-5-A        MAKE COMP. GO TO ACT LIKE CONTINUE WHEN VAR. OUT OF RANGE.

93-5          EXECUTE DO LOOP ONCE WHEN M1>M2.

94-4-N        ALLOW MATRIX ARITHMETIC.

95-1          ALLOW G FORMAT DESCRIPTOR WITH ANY ARITH. VARIABLE.

96-1          X FORMAT DESCRIPTOR SKIPS CHARS. ON OUTPUT RATHER THAN

              INSERT BLANKS (AT LEAST AFTER T IS USED TO REPEAT COLS.)

97-3-2        ALLOW FUNCTION NAME IN TYPE-STAT. WITHIN THAT FUN. SUBP.

98-1-3        R FORMAT FIELD DESCRIPTOR.

99-6-2        SPECIFY ACTION FOR OMITTED FORMAT STATEMENT.

100-1         SPECIFY ACTION IF OUTPUT NUMBER EXCEEDS FIELD WIDTH.

101-6-A        REWIND HAS NO EFFECT WHEN UNIT IS AT INITIAL POSITION.

102-5-A        MAKE COMMA AND LIST OPTIONAL IN ASSIGNED GOTO.

103-5-A        ALLOW INTEGER EXPRESSION IN COMPUTED GOTO.

104-3-4        ALLOW NO. OF CONSTS. TO DIFFER FROM NO. OF VARS. IN DATA STATEMENT.

105-3-N        MAKE MOD FUNCTIONS ALWAYS GIVE NON-NEGATIVE RESULTS.

106-5-A        ALLOW OPTIONAL COMMA AFTER STAT. NO. IN DO STAT.

107-3-1        ALLOW NAMING OF BLOCK DATA SUBPROGRAMS.

108-3-1        ALLOW MORE THAN ONE BLOCK DATA SUBP. IN ONE PROGRAM.

109-1          PROVIDE NUMERIC OUTPUT FOR STD, INFO. INTERCHANGE.

110-5-N        ALLOW MORE THAN ONE STAT. AS PART OF LOGICAL IF.

111-3          ALLOW REFERENCING BEYOND DUMMY ARGUMENT ARRAY.

112-3-1        ALLOW EQUIVALENCE TO GIVE TWO NAMES TO ONE VARIABLE.

113-3-1        ALLOW SUBPROGRAMS TO RETAIN LOCAL VARS. BETWEEN REFS.

114-3-N        DO NOT REQUIRE LABELED COMMON BLOCKS TO BE SAME LENGTH.

115-6-3        DEFINE RECORD LENGTH.

116-6-5        PROVIDE FOR MULTI-REEL FILES.

117-1-3        ALLOW NON-FORTRAN CHARS ON COMMENT LINES.

118-1-4        MAKE END LINE A STATEMENT,

119-1          SPECIFY NPEW.D OUTPUT WHEN N>0.

120-4-3        ALLOW CONTROL OF ROUNDING IN FL. PT. OPERATIONS.

121-1          PICTORIAL FORMAT SPECIFICATIONS.

122-6-5        SPECIFY NORMAL SYSTEM I/O UNIT NUMBERS.

123-4-2        ADD < AND > TO CHARACTER SET AND ALLOW IN REL. EXPR.

124-2          DO NOT REFER TO A BLOCK NAME AS A DATA NAME IN STD.

125-3-1        COMBINE BASIC EXT. FUNS. AND INTRINSIC FUNS.

126-3-2        SPECIFY STATUS OF USER SUBP. WITH NAME OF BASIC EXT. FUN.

127-6-N        GET CONVERSION WHEN VAR. TYPE AND FORMAT DISAGREE.

128-2          CONSTANT AND INPUT VALUE OF IDENTICAL FORM MUST HAVE SAME VALUE.

129-1-N        ALLOW ALPHANUMERIC STAT. LABELS.

130-3-4        ADD MORE TRUNCATION AND REMAINDERING FUNCTIONS.

131-3-2        REPEAT MORE THAN ONE CONSTANT IN DATA STATEMENT.

132-2          SPECIFY PARTS CF COMPLEX NO. IN STORAGE.

133-1          SPECIFICATION OF INTEGERS IN FORMATS DURING EXECUTION.

134-3-4        ALLOW SUBP. REFS. TO USE LESS THAN NO. OF DUMMY ARGS.

135-3-5        ALLOW NAMELIST TO BE USED FOR A LIST OF ACTUAL ARGUMENTS.

136-4-3        MORE PERMISSIVE LOGICAL IF, E.G. IF(I.EQ.2.OR.3).

               ALSO MORE PERMISSIVE LOGICAL EXPRESSIONS.

137-3-1        ALLOW COMMON TO BE INITIALIZED IN ANY PROGRAM UNIT.

138-5          MAKE END LINE IMPLY A STOP IN MAIN PROGRAM.

139-5          MAKE END LINE IMPLY A RETURN IN SUBPROGRAM.

140-5          ALLOW BRANCHING INTO RANGE OF ANY UNSATISFIED DO.

141-5          ALLOW REAL NOS. AS PARAMETERS IN DO STATEMENT.

142-6-2        ALLOW HOLLERITH CONSTANTS IN OUTPUT LISTS WITH

               ASSOCIATED FORMAT FIELD DESCRIPTOR.

143-6-4        PROGRAM INTERLOCKS.

144-1          DO NOT ALLOW NON-FORTRAN IN PROCEDURES IN STD PROGRAMS.

145-5          DEFINE VALUE OF CONTROL VAR. AFTER SATISFYING DO LOOP.

146-5          PROVIDE FOR INDICATING ABNORMAL TERMINATION OF A PROGRAM.

147-3          ALLOW SUBARRAY SPECIFICATION STATEMENT.

148-4-3        ALLOW ARRAY ARITHMETIC.

149-4-2        ALLOW THREE NEW CHARACTERS FOR .AND., .OR., AND .NOT.

150-6          ALLOW MORE THAN ONE FILE ON ONE I/O UNIT.

151-3          MAKE COMMA AFTER SLASH IN DATA STAT. OPTIONAL.

152-3          MAKE COMMA BETWEEN LISTS IN EQUIVALENCE STAT. OPTIONAL.

153-2          SPECIFY PARTS OF DOUBLE PREC. NO. IN STORAGE.




APPENDIX F [of X3J3 minutes of August 1971]



EXTENSIONS AND REVISIONS APPROVED


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 $ECOND 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. (/21,4.1)

1O. 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)

l3. ALLOW ASSIGN STAT. TO SET VAR. FORMAT. (/25,4.4)

l4. FIX NO. OF RANGE EXECUTIONS AND INCR. AT DO STMT. (/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)

18. OPTIONAL COMMA IN COMPUTED AND ASSIGNED GOTO (/27,4.4)

19. OPTIONAL LIST IN ASSIGNED GOTO. (/21,4.5)

20. OPTIONAL COMMA IN DO AFTER STAT. LABEL. (/27,4.6)

21. ALLOW FUNCTIONS WITH NO ARGUMENTS. (/27,4.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)

    REAL VARIABLE IN DO

    ZERO-TRIP COUNT

    IMPLICIT STATEMENT