British Computer Society Fortran Specialist Group


Minutes of the meeting held on Monday 4th April in lecture theatre 4.34,

Royal School of Mines, Imperial College Computer Centre, Prince Consort Road,

London SW7


Present:       Mr M Lewis (Vice Chairman)      Imperial College Computer Centre

Mr G Harding                            Imperial College Computer Centre

Mr D Hill                                   C.C.A.

Mr D J Holmes                          Rolls Royce (1971) Ltd. Bristol

Dr J Murchland                         University College London

Mr T L van Raalte                     M.O.D. (A.W.R.E.)

Mr J Robert-Jones                     Liverpool City Council

Mr J D Wilson                           Leicester University

Mr P A Clark (Secretary)           Rothamsted Experimental Station


1.       Approval of Minutes of previous meeting


The minutes of the meeting of 7th February were approved.


2.       Matters Arising from the Minutes


Mr Roberts-Jones initiated a discussion concerning Appendix A of the February

1977 minutes indicating that it was still not clear whether a file property was

indeed an intrinsic property of a file or not. Lines 137 to 148 of section 12

of document X3J3/76.7 (dated 15th March 1977) show that certainly with regard

to access method, which was the main discussion point, property implementation

is entirely processor dependent.


3.       Election of Officers for 1977/78


Mr Muxworthy (Chairman) and Mr Clark (Secretary) both stood down from their

current positions. Dr J Murchland proposed a vote of thanks for their service

to the group over the last two years.


The elections for Chairman and Secretary then took place. Only one candidate

for each post was proposed and they were duly elected.


The new chairman is:                                 Mr M R Lewis,

ICCC,

Mechanical Engineering Building,

Imperial College,

Exhibition Road.

London SW7 2BX

Tel: 01-589 5111 x 1186


The new secretary, to whom all

correspondence should be addressed is:      Mr G L Harding

ICCC

Mechanical Engineering Building

Imperial College

Exhibition Road

London SW7 2BX

Tel: 01-589 5111 x 1187


Requests were made for anyone willing to fill the vacancy on the steering

committee. No one was forthcoming. will anyone willing to fill this please

contact the secretary.


4.       Activities of other Fortran Groups


4.1     ANSI X3J3 Committee Activities


Two communications from Loren Meissner were presented. They were:-

i. "Significant Actions taken at the March 1977 meeting of X3J3."

ii."Proposals described in For-Word (Volume 3, Number 1. January 1977,

page 5) which were considered at the March 1977 meeting of X3J3."


Both of these are reproduced in Appendix A.


The brief nature of these notes gave rise to uncertainty as to the

meaning of the statement therein that nX does not affect the output record

length. There is some clarification in section 13 of document X3J3/76.7 in

lines 312 to 313 and 329 to 332. It is stated nX alone does not affect

the output record length but merely positions so that a subsequent output

item will actually cause the intervening blanks to be written.


X3J3 have produced a new document known as X3J3/76.7 that includes all

changes up to and including the March 7 1977 meeting. The document,

describing the Full FORTRAN 77 language, is an unofficial working document

and incorporates all changes resulting from public comments. The preface

to the document is reproduced in Appendix B.


4.2     Fortran Development Committee Activities


The January 1977 FOR-WORD newsletter (Volume 3, Number 1) had been

received and it included two pages for a summary of revisions to the

March 1975 X3J3 standard up to January 1977. Some of these such as the

Character length specification now have to be read in the light of the

latest document, as they have changed.


4.3     BSI DPS 13 WG2


The survey conducted by Dr Rutherford for BSI DPS13 had received about

forty replies.


Dr Rutherford has indicated that this response, while incomplete, shows

the existence of a requirement for standardisation. In all about 400

forms had been sent out.


Mr Clark reported that he had discussed possible proposals to make to

BSI DPS13 and in the absence of confirmation by members of the Fortran

Specialist Group, he decided that there were two separate issues. Firstly,

defining a 'real-time' Facility to which various general purpose application

programming languages could interface. Secondly, defining special purpose

languages for this area of activity and for writing the basic system

control functions.


The information now available was sufficient to put forward Fortran as

a suitable language for the former case. It was thought that perhaps

it was premature to make any entirely satisfactory recommendation for the

latter case.


Mr Clark described the general requirements of ISO for the standardisation

of Software and the scope of the ISO/TC97/SC5/WG1. In general it was

thought that the Fortran with ISA routines matched up to these specifications.

Dr Rutherford had decided to out these views to BSI DPS13 on the day after

this Fortran Meeting (i.e. on 5th April 1977).


4.3.1. ISA/Purdue Workshop Activities


The minutes of the 25th January 1977 meeting of ISA SP61 Committee

had been received and were described.


4.3.2. Codasyl Fortran DBMLC


A letter from Dr Chester Smith had been received. It mentions that

the document 'CODASYL FORTRAN data base Facility' is shortly to be

published by the Canadian Federal Government. The position on

publishing in Great Britain is being investigated.


5.       Review of ISA S61.2


Mr Clark gave a review of ISA S61.2. This is reproduced as Appendix C to

these minutes.


Some comment evolved about DFILW and whether one should first have to open

the file with 'exclusive all' privilege.


A further proposal was mentioned from the table on page C-3, obtained by

removing XW.


6.      Working Party Reports


6.1     Preprocessor W.P.


Dr Murchland said that he had received details of an interesting

preprocessor For structured Fortran called STRUFFOR from H. Kilov

(Riga, Latvian SSR) complete with documentation in Russian.


He described with slides some of the constructs employed - these

fall fairly well into line with western thinking in this area.


He reported that the documents of the Structured Fortran Survey had

been received from Dr Meissner.


He outlined a possible scheme for summarising such preprocessors

under headings of name, indexing terms, purpose, input language,

output language, implementation, documentation. author, available

details and information source.


7.      Other Recent Fortran Events


7.1     Implementation Developments


The secretary asked for information about current and future developments

intended For Fortran compilers. Mr Lewis mentioned that CDC were

intending to release a compiler conforming to the new standard and also

that the University of Minnesota were also developing such a compiler

for CDC machines.


Mr Hill said that the ICL 2900 compiler contained some aspects cf the

new standard and that he believed ICL were interested in better user

features such as statement tracing.


The secretary would be pleased to receive information about Fortran

compilers, currently available or being developed, For both the old

and new standard with the aim of producing a document containing such

information for people wishing to use a Fortran compiler which may

have special characteristics.


7.2    Fortran Publications


The paper "A Fortranner's Lament: Comment on the Draft Proposed

ANS Fortran Standard" by S I Feldman published in ACM SIGPLAN Notices

December 1976 was mentioned.


8.        BCS Business


8.1     Datafair


The group has been allocated a room from 4.15 to 4.45 on Wednesday

5th October. Any volunteers willing to talk on the new standard or

preprocessors would be welcome. Please contact the secretary.


8.2     BCS Standards Committee Meeting


Mr Shearing had been invited to this meeting on Thursday 31st March 1977

but had been unable to attend. In his place, Mr Clark had represented

the group. The two items of interest on the Agenda were

1. The Standards Committee had obtained copy of the ADPESO Fortran

(and Cobol) compiler tests. It was believed that these are a revised

U.S. Navy test suite covering an intersection of the old and proposed

new standards. The Standards Committee asked if the Fortran Specialist

Group could checkout these tests prior to their general release and any

comments made could be distributed with the tests.

2. The Standards Committee had noted in the FORWORD newsletter that

X3J3 was requesting new members and the committee decided to investigate

this possibility.


9.      Any Other Business


There was no other business.


10.     Date of Next Meeting


The next meeting will be held on Monday 16th May.




APPENDIX - A


SIGNIFICANT ACTIONS TAKEN AT THE MARCH 1977 MEETING OF X3J3


Delete the MAXREC specifier from the OPEN and INQUIRE statements.


Add a BLANK specifier to the INQUIRE statement, to permit determination

of whether the currently established blank significance property is ZERO or

NULL.


Permit records written by a suitable explicit format to be read by list-

directed formatting.


Provide [UNIT =] * to specify the default input and output units for a

data transfer input or output statement with a control information list.


Make BLANK = NULL the default for a connection resulting from execution

of an OPEN statement that does not explicitly specify the blank significance

property.


Rescind the change adopted at the previous meeting (January 1977) that

changed the syntax of the CHARACTER declaration, IMPLICIT CHARACTER, and

CHARACTER FUNCTION statements, thus restoring the syntax to that of the March

l976 draft proposed standard.


Provide that a variable specified by a SAVE statement does not become

undefined when it has a statement label value.


Delete the concept that either part of a complex constant may be the sym-

bolic name of a constant. However, an entire complex constant may be symbolic.


Delete DBLE and DFLOAT as specific names of intrinsic functions;

introduce REAL as a specific name with integer argument and delete it with

complex argument; retain REAL as a generic intrinsic function name with

argument of any type.


Change format edit descriptors +nX and -nX to TRc and TLc, respectively,

and provide that nX docs not affect the output record length.


Permit an optional period before the T or F in a logical input field,

thus making the logical constant forms .TRUE. and .FALSE. also legal as input

data forms.


Require that any labelled common block for which SAVE is specified in any

program unit must also be so specified in every program unit in which it

appears.


Define SIGN (a1, a2) when a2 is zero as the absolute value of a1.


Permit a declared character length of (*) for a symbolic character

constant, with the actual length to be determined by the form of the constant.


Delete the edit descriptor Ew.dDe but retain Ew.dEe. [This merely means

that output with exponent size control will not be printed with a D before the

exponent.]


"It is the intent of X3J3 that all substantive issues are completed as a

result of the Public Review and Comment Period on /76, the draft proposal for

Fortran 77."

(11 Mar 1977)

Summary by L. P. Meissner


-----------


Proposals described in For-Word [Volume 3, Number 1, January 1977, page 5] which were

considered at the March 1977 meeting of X3J3:


Delete alternate return: Proposal 58-WB3 (Brainerd) to delete alternate return

was not formally considered. Instead, 58-JHlA (Harkins) to retain alternate return

was passed 16 - 9. Text based on 58-JHlB (Harkins) was adopted to correct the descrip-

tion of the alternate return feature.


Longer names: Several alternatives were suggested in proposal 58-BAMl (Martin).

Proposal 58-BAMlC (Martin) to permit 16 character names for variables, arrays, and

symbolic constants (but not for global names nor for statement functions, intrinsic

functions, and dummy procedures) was considered, but failed 7 - 16. Proposal 58-RFB6

(Brender) to add text to the Appendix recommending that "in no case should characters

in excess of some maximum count be accepted as valid but otherwise ignored" was

defeated 11 - ll.


MAP statement: The MAP statement was not considered.


Maximum record length for files connected for sequential access: Proposal

58-BP5 (Puerling) to permit sequentially connected files to have a RECL property to

specify maximum record lengths failed 4 - 15.


Array assignment: Proposal 58-JH2 (Harkins), with extensive modifications

including a prohibition against the use in the expression on the right of scalars or

other entities partially associated with the array on the left, failed 11 - ll.


Other substantive proposals considered but not adopted:


Prohibit OPEN on a unit that is already connected.


Change substring syntax to include angular brackets.


Restore adjustable character length for dummy arguments.


Rescind assumed length of dummy argument arrays.


Require DO variables and parameters to be of integer type.


Reconsider conversion rules for DATA statement.


Delete the assigned GO TO statement.


Add an intrinsic SIGNUM function. Note: one way to get this function, now that

SIGN has been defined when a2 = 0, is as follows:


SIGNUM (x) = SIGN (.5, x) - SIGN (.5, -x)




APPENDlX - B


Document X3J3/76.7 FORTRAN 77             March 18, 1977


J. C. Noll


TO: X3J3


Document X3J3/76.7 includes all substantive and editorial

changes made to document X3J3/76, including changes made at

the March 7 1977 meeting of X3J3.


Document X3J3/76.7 FORTRAN 77 is an unofficial working

document of X3J3. Document X3J3/76 dpANS FORTRAN is a basis

document that was published in March 1976 for public review

and comment. Document X3J3/76.7 has revision bars which

indicate differences between /76.7 and /76.


X3J3 intends that /76.7 completes all substantive changes as

a result of public comments received. X3J3 intends to

complete editorial changes at the May 23, 1977 meeting, and

to approve and submit a new basis document to American

National Standards Committee X3 for letter ballot. Upon

completion of the X3 ballot, the proposed standard will be

forwarded to the American National Standards Institute for

approval as an American National Standard.


Comments on X3J3/76.7 or X3J3/76 may be sent to:


Lloyd W. Campbell

X3J3 Secretary

BRL-CSD Bldg. 328

Aberdeen Proving Ground, MD 21005

USA



HO-8223-JCN                             J. C. Noll


Att.

X3J3/76.7


[see also Appendix D]




APPENDIX - C


SUMMARY OF THE WORK OF THE JOINT INTERNATIONAL PURDUE WORKSHOP

(IPW) FORTRAN COMMITTEE AND THE INSTRUMENT SOCIETY OF AMERICA

(ISA) COMMITTEE ON INDUSTRIAL FORTRAN



Draft Standard ISA S61.2 (1976) (first Drafted 1973)


Industrial Computer System Fortran Procedures For


* File Access


* Control of File Contention


The processor is expected to permit several programs to be

operating concurrentLy and these concurrent programs may share

resources. A fiLe can be a shared resource.


INTERFACES TO ACCESS FILES


Files may be created by the system or by a program.


Create a Named File


To establish (but not open) a named file


CALL CFILW( FILE, LREC, NREC, STATUS )


where          FILL specifies the file either as an integer expression,

an integer array or as a procedure name


LREC is the number of integer storage units in each

record of the file


NREC is the number of records in the file


STATUS returns status (1 = created, 2 or greater = not

created)


Open A File (now covered By D.P. ANS Fortran in part)


Associates a specified logicaL unit with a named fiLe and

defines access privileges of the program to the file


CALL OPENW( UNIT, FILE, ACCESS, STATUS )


where          FILE is as before


UNIT number is used to reference FILE


ACCESS is integer (1 = read only, 2 = shared, 3 =

exclusive write, 4 = exclusive all)


STATUS returns status (1 = opened, 2 or greater = not

opened)


Close A File (now Covered By D.p. ANS Fortran in part)


Terminates association between logical unit number and named file


CALL CLOSE( UNIT, STATUS )


where          UNIT is as before


STATUS returns status (1 = closed, 2 or greater = not

closed)


Delete A File


To remove a fiLe from the file system


CALL DFILW( FILE, STATUS )


where          FILE is as before


STATUS returns status (1 = deleted, 2 or greater = not

deleted)


Modify Access Privileges


Requests to change the calling program's access privilege to a

previousLy opened file without closing and re-opening the file


CALL MODAPW( UNIT, ACCESS, STATUS )


where          UNIT and ACCESS are as before


STATUS returns status (1 = request granted, 2 or greater

= request fails and the previous access privilege

remains in force)


Direct Access Files


This is covered in more detail in the revised d.p. ANS Fortran.


Revised Access Privileges


Purdue Europe Proposal


PROGRAM 1 HAS


PR       W      RW      UW


PR      Y        N        N        Y

PROGRAM 2      W      N        N        N        Y

 WANTS           RW     N        N        N        Y

                            UW      Y        Y        Y        Y


where          PR is protected read

W is write only

RW is read/write

UW is unprotected write


S61.2 Proposal


PROGRAM 1 HAS


R        S        XW     XA     PR*


R        Y        Y        Y        N        Y

PROGRAM 2     S        Y        Y        N        N        N

 WANTS           XW     Y        N        N        N        N

XA      N       N        N        N        N

PR*    Y        N        N        N        Y



where          R is read only

S is shared

XW is exclusive write

XA is exclusive all

PR is protected read (*=new addition)



In the body of the table:


Y means yes, desired privilege granted

N means no, desired privilege not granted




APPENDIX - D


TO: X3J3

From: British Computer Society Fortran Specialist Group


Date: 16th February, 1977.


Subject: Comments on Fortran 77 Full language X3J3/76.5 (76-11-30)


The following editorial points were noted at our meeting of

7th February, 1977.


1. The Group repeats its objection to the use of the

word 'redundant', applied to type specifications

in section 19-2 item (9). It is clear from

section 8.4 that 'duplicate' is intended.


2, The decisions taken on 'extended range of Do loops'

at the November 1976 meeting of X3J3 have not been

incorporated consistently in X3J3/76.5. In section

11.10.2, lines 350 - 351 contradict lines 361 - 364.



Comments on Fortran 77                      March 25, 1977



To British Computer Society, and others:



Thank you for your comments. The errors that you noted above

have been fixed in the enclosed document. Point 1 ('redundant

type specifications') required a fix to Section 15 as well as to

Section 19.2.


Please keep your comments coming. They are welcome and helpful.




J. C. Noll

X3J3 International Representative