BCS Fortran Specialist Group


Minutes of a meeting held on 2nd February, 1976

in the Staff Common Room at the Polytechnic of

Central London, 115 New Cavendish Street, London W.l.



Present:


Mr. D. T. Muxworthy (Chairman)    University of Edinburgh

Mrs. E. Aylmer-Kelly              University of York

Mr. L. F. Bennett                 Civil Aviation Authority

Mr. P. D. Bond                    Philips Industries

Mr. B. Cannon                     Sperry Univac

Dr. A. C. Day                     University College London

Ms. S. E. Earnshaw                Davy Powergas Ltd.

Mr. G. Harding                    Leeds University

Mr. D. Hill                       Micro Computer Systems Ltd.

Mr. R. Hirst                      Leonard Griffiths and

                                  Associates.

Mr. D. J. Holmes                  Rolls Royce(l97l), Bristol

Mr. A. J. Mayne                   University College London

Mr. K. Normington                 Lanchester Polytechnic

Mr. R. W. S. Rodwell              ICL, Euston

Mr. J. E. Sharp                   British Gas (HQ)

Mr. J. A. Smart                   British Gas (HQ)

Mr. S. K. Susi                    Davy Powergas Ltd.

Mr. S. Talbot                     Sperry Univac

Mr. P. Vyse                       Honeywell

Dr. B. Warburton                  School of Pharmacy, London

Mr. P. A. Clarke (Secretary)      Rothamsted Experimental Stn


Apologies for Absence:


Dr. J. C. Baldwin                 University College Cardiff

Mr. C. Mackinnon                  UKAEA Risley.

Mr. T. L. Van Raalte              M.O.D.


1.    Approval of Minutes


The minutes of the meeting of 1 December, 1975 were approved subject to

the following correction:- Item 2(a) 'organisers of Datafair 75' should read

'Chairman of Specialist Groups Committee'.


2.    Matters arising from the Minutes


(a)   Item 2(a). Mrs. Aylmer-Kelly said that she had been involved in the

development of the SOFOR (Southampton Fortran) compiler and confirmed

that it provided a facility for counting instruction executions. The

compiler has been made available through I.C.L. on ICL 1900 series

computers.


(b)   Correspondence from Mr. T. L. van Raalte requesting a change of day for

meetings was discussed. It was pointed out that Monday had already been

booked for the next two meetings (5 April and 7 June) but that a change

could be made after that.


(c)   Item 2(c). At a meeting of the BCS Specialist Groups Committee on

29 January 1976 the group had put forward a request for an extra £60 to

complete this year's programme of meetings. The SG Committee had

forwarded this to the Technical Board for approval. At that meeting,

there was a discussion on the financing of specialist groups and there

was a recommendation made that specialist groups should have some income

to recoup some expenditure. There was strong opinion in favour of

charging non-members of the BCS for circulation of minutes. This would

not include non-members with whom the group had reciprocal exchanges of

information. After some discussion, those present agreed that such a

charge should be imposed to cover expenses. There will not be a charge

for attendance at meetings.


The Fortran Specialist Group has been given a budget of £140 for next

year to cover costs of hiring meeting rooms and circulating minutes.


3.   Revision of Objectives


     There was discussion of the wording of the proposed revised objectives. There

was general agreement that the current objectives which allow the group to H

participate only in Fortran Standards activities was too restrictive. The view

that the groups activities should cover all aspects of Fortran was expressed and

a vote was taken to confirm that this view should be adopted as the objective of

the group and submitted for approval to the BCS. This vote was carried with

with no votes against.


The revised wording now becomes:


"To participate in activities associated with all aspects of Fortran".


Any objections to this, in intent, or wording should be raised before the

next Specialist Groups Committee meeting.


4.   Fortran Group and Committee Activities


4.1  ANSI X3J3 Activities.


Mr. Muxworthy had received a letter from Frank Engel, Chairman of the XZJ3

committee which announced that X3J3 has approved forwarding the draft document

to X3 for further processing as the draft proposed American National Standard

X3.9. (revised)- Fortran Language. Mr. Engel expects that X3 will vote to

approve further processing by the end of its meeting on 10-11 February and that

publication by SIGPLAN notices will follow shortly thereafter. Formal

announcement of this is expected by about 1st March. The public review and

comment period would then be 1st March to 30th June, 1976.


Copies of the document are now expected to cost about $5-$lO plus

Air Freight charge.


Note that orders for copies should be sent to the Secretary. About 25

copies are still available.


Mr. Engel's letter continued by asking if we had any plans or intention to

encourage the wider dissemination and discussion of the document in Britain.


There was some discussion on this point. The question of whether there

was a concensus opinion of the new standard within the group arose. Was it

necessary for us to be in favour of the new standard to promote it?


Some present thought that without having a copy of the new standard, we

could not arrive at a concensus view. No-one present was prepared to give a

talk on the new standard. No-one knew of a suitable conference or occasion for

such a talk.


Mr. Muxworthy said that 'Computing' newspaper had asked for someone from

the group to write a brief description of the new standard.


Later Mr. Vyse volunteered to write this article.


4.2  CODASYL Fortran DBMLC Activities

 

Since our last meeting we had received the minutes of Meetings 8 and 9

of the FDBMLC. The minutes of the eighth meeting contained a discussion of the

Journal of Development (JOD) version 0.2. Extensions were made to History

and Background (J. McLean), Sub- Schema Language Specification for Fortran

(J. Rundell) and a list of changes to this is given. An example subschema

and sample Fortran program were discussed for inclusion as Appendix A.


At meeting 9, S. Cohen presented a paper on Special Registers, Status

Indicators and procedural flow after an exception. A chapter on database

concepts was considered. A straw vote on "set membership will be changed only

if the ALL or SET=<dbnames> clauses are used in the MODIFY statement" was tied

3 all.


Mr. Ron Ham (chairman CODASYL PLC) listed the terms of reference of the
FDBMLC and outlined some requirements for the JOD. It requires standard CODASYL

preface and acknowledgement sections. Once accepted changes to the JOD must

be upward compatible and correspondence would be needed with the DDL Schema

committee to maintain consistency. Version 0.3 now contains about 120

pages. The aim is completion of the JOD by July 1976.


We were interested in an unofficial comment about the DML made by Frank

Engel in his letter. He considers that it would not be best to make this part

of the standard Fortran language because it has a large 'language' overhead and

is relevant to only a subset of users. It could be implemented within

existing framework for external procedures.


4.3  Fortran Development Committee


A copy of Dr. Meissner's paper 'Status of Fortran Standards Revision'

(44 pages) and a copy of the report by L. P. Meissner and D. J. Reifer on the

'Structured Fortran Preprocessor Survey' (196 pages) which contains detailed

descriptions of 22 preprocessors and is a discussion document for the Fortran

Forum West Conference have been received and are being circulated to interested

members. The document on Fortran Preprocessors for Numerical Software is still

being circulated.


4.4  Purdue Workshop Fortran Activities


A copy of the minutes of the 8th Workshop on Real time systems (1972) have

been received from the President, Professor T. J. Williams, Purdue University.

The report of the Fortran committee (75 pages) includes descriptions of ISA

Standard S61-1. on Fortran procedures for executive functions and process

input-output, proposed ISA Standard S61-2 on Fortran procedures for handling

Random Unformatted files, Bit Manipulation and Date and Time Information.

It includes a working paper on Fortran procedures for task management and

details of Fortran Subroutines for use with CAMAC (an on-line data acquisition

unit). This document is being circulated to interested members.


4.5  Dutch Fortran Study Group


A copy of a proposal sent to ANSI X3J3 by the Dutch group has been received

from the secretary, Mr. Heynes. It repeats our requests for type DOUBLE PRECISION

COMPLEX and a full collating sequence for CHARACTERS or mapping of characters to

small integers or a facility for the user to specify his own collating sequence.


5.1. Working Party on ANSI Revisions


Dr. Day, Chairman of the working party reviewing the revised draft proposed

ANSI standard explained that it was hoped that the review would appear in the

May Computer Journal. To meet this deadline, the document would have to be

completed by the end of February. A meeting of the volunteers had taken place

and work apportioned. The current draft contained contributions from only

3 people and if contributions were not forthcoming the project would not be viable.

Dr. Day reported that he was sorry that Mr. D. Maisey had withdrawn, but Mr. D.

Hill was a welcome addition to the party.


5.2  Fortran Contact List


A first draft of this document dated 20 January 1976 was distributed and

discussed. Some corrections were made and new entries added. No one present

had any strong objections. Omissions include: contacts with computer

manufacturers who might not agree to inclusion, working parties within the

specialist group, and areas such as Fortran education which are not covered by

existing working parties or study groups.


Any person or group who wish their name to be entered or removed from the

list should contact the secretary. It is envisaged that this list will eventually

be maintained by a permanent 'public relations/information' group who would also

revise the introductory notes sent to prospective new members (currently we use

Brian Shearing's document dated January 1975).


5.3  Report on Shortran


Dr. B. Warburton described the Shortran editor which has been written as a

side-line to his normal pharmaceutical work. It is a three-pass system designed

for use at interactive terminals which makes use of the redundancy in Fortran

text by providing a shorthand notation for most Fortran statements (See

Appendix A).


As well as expanding abbreviated statements, the system also provides automatic

numbering of labels, counting of characters in Hollerith strings and correct

nesting of DO loops. The lookup-table (Appendix A) can be changed to suit

individual requirements. Briefly, pass l expands the codes, pass 2 completes

any missing predicates and pass 3 tidies up any missing labels.


The implementation makes use of the ULCC text editor, SNUFF, and

implementation on other systems would require a substitute for this. To make the

program portable, it would probably be better to restructure it than to attempt
re-writing SNUFF.


In practice Shortran has been found simple to learn and use by Fortran

programmers and the automatic labelling and label checking tend to reduce mistakes.

Fortran and Shortran can be mixed freely so that the editor can be used on

existing programs as well as new ones.


There has not been a measured comparison of times taken using Shortran and

normal editing but the number of characters typed is appreciably reduced. From

the example shown it appears that there is no saving on paper used (by teletype

and other hard copy terminals) because statements are typed on new lines as in

normal Fortran and additional print is generated by the second and third pass.


5.4  U.S. Navy Tests


A copy of these tests has been sent to Mr. M. Thomas of the South Western

Universities Regional Computing Centre, Bath for testing the ICL 2900 series

Fortran compiler.


6.   Any Other Business


There was no other business.


7.   Date of Next Meeting


The next meeting will be held on 5th April l976.


8.   Talk on Univac 1100 Series Fortran Systems


Mr. B. Talbot of Univac computing systems described the compilers currently

available to users of Univac 1100 Series computers (see Appendix B). This

was followed by questions and discussion.




APPENDIX A


[Note: the paper version of this appendix was poorly reproduced and some characters

may have been mis-represented..  The right-hand column was not aligned consistently

and some lines were truncated on the right.  The appendix should be read as an

overview rather than a detailed description.]


THE SHORTRAN TRANSLATOR


THE SHORTRAN TRANSLATOR ENABLES FORTRAN PROGRAMMES

TO BE WRITTEN IN A SHORTHAND LANGUAGE <SHORTRAN> AND THEN EDITED IN

A VERY FLEXIBLE MANNER. THE SHORTRAN TRANSLATOR MAKES USE OF A MODIFIED VERS-

ION OF -SNUFF- THE ULCC EDITOR WHICH IS CALLED AUTOMATICALLY WHEN REQUlRED

THE COMPLETE LIST OF -SHORTRAN- STATEMENTS AND THEIR -FORTRAN- EQUIVALENTS

ARE LISTED BELOW-



[NOTE: * MARKS THE END OF THE OUTPUT STRING]


SHORTRAN

FORTRAN

F:

:B FORTRAN (*[THIS OR FT:AFTER W: OR R:]

1N:

1*  [ THESE GENERATE CONTINUATION LINES]

2N:

2*

3N:

3*

RW:

REWIND :Z* [DETAILS ADDED LATER]

E6:

ENDFILE6*

P:

PROGRAM * [THEN NAME * CARD 8,9 OR 10]

(INPUT,OUTPUT,TAPE5=INPUT,TAPE6=OUTPUT)*

:7

(INPUT,OUTPUT,SEVEN*

:8

(INPUT,OUTPUT,SEVEN,EIGHT*

R:

READ(5,:B)*[AUTO FORMAT LABEL]

R8:

READ(8,:B)*[AUTO FORMAT LABEL]

W:

WRITE(6,:B)*[AUTO FORMAT LABEL]

W7:

WRITE(7,:B)*

:C

(:I,:J:,:K,:L,:M,:N)* [SUBROUTINE PARAM SET]

*:

:CH* [STARTS NEW HOLLERITH STRING IN FORM

FT:

:R FORMAT(:CH* [TEXT FORMAT GENERATOR]

G:

GO TO :W* [FILLED WHEN LAB NOS ARE KNOWN

IEQ:

IF(:E .EQ. :F)*

ILT:

IF(:E .LT. :F)*

ILE:

IF(:E .LE. :F)*

IGT:

IF(:E .GT. :F)*

INE:

IF(:E .NE. :F)*

IGE:

IF(:E .GE. :F)*

C:

CALL * [ * NAME OF SUBROUTINE ]

RL:

REAL *

L:

:U * [COMPLETES DO LOOP]

T:

CONTINUE *

R:

RETURN *

S:

STOP*

E:

END*

DM:

DIMENSION *

EQ:

EQUIVALENCE *

B:

SUBROUTINE * [ *NAME OF SUBROUTINE ]

£

* [TABULATION CHARACTER = 6 SPACES]

CX:

COMPLEX *

LO:

LOGICAL *

DA:

DATA *

CM:

COMMON *

D:

DO :U * [STARTS DO NO LAB NO NEEDED]

IE:

INTEGER *

VI:

I=IMIN,IMAX *

VJ:

J=JMIN,JMAX *

VK:

K=KIMIN,KMAX *

A:

:X * [PROVIDES ORD, NON FORM.LABS ]

RB:

READ (5,* [WHEN FORM.LAB. IS KNOWN]

WB:

WRITE(6,*

I:

IF(*

:F)A    IF(

:F.AND.* *:F)0  IF(*:F.OR.*

7:

]TAPE5=INPUT,TAPE6=OUTPUT,TAPE7=SEVEN)*

8:

]TAPE5=INPUT,TAPE6=OUTPUT,TAPE7=SEVEN,TAP


-FORTRAN- AND -SHORTRAN- STATEMENTS MAY BE FREELY MIXED AND THE

TRANSLATOR IS SUITABLE FOR USE WITH WHOLE PROGRAMMES, SEGMENT5 OF PROGRAMMES




APPENDIX B


Summary of talk by Mr. B. Talbot on Univac Fortran Systems


Mr. Talbot outlined Univac's commitment to Fortran standards by saying that

Univac had been actively participating in the current ANSI X3J3 Fortran revisions.

The existing compilers conformed to the existing 1966 standard and most other

recognised industry and major committee standards.


The current compilers are referred to as FOR and FTN for batch use and

CFOR, BFOR and RFOR for demand (time sharing) use.


The FOR compiler is an implementation of the Fortran language called Univac

Fortran V. This is a superset of the 1966 ANSI standard and contains features for:

handling I/O contingencies (END= and ERR=), adding functions to the library,

automatic typing of functions (Generic), string manipulation (by the FLD function)

and in line procedures (INCLUDE statement). The compiler is configurable and

optimising and has some 200 diagnostics and an error walkback feature to assist

program development. The optimisations include local (within statement) reduction

of constant expressions and operation optimisation. Powers of 2 are performed by

shifting, null operations such as adding zero, multiplying by one and raising to

zero power are detected and omitted. Constant subscripts are precalculated, loop

counters are precounted, literals and constants are stored once only. At the

interstatement level, common subexpressions are precalculated, register loading is

minimised and loop control is optimised.


The RFOR (Re-entrant FOR) compiler can be used in batch or demand modes. It

has extended debugging aids which include dynamic interrogation, a facility which

enables a running program to be halted (by PAUSE) and the values of variables and

registers can be inspected. Variables can be reset and execution resumed. A

static trace can be activated (by the TRACE ON/OFF statements).


CFOR (conversational FOR) is an interpretive compiler with which users can

interact. A program interrupt feature allows inspection and resetting of variables

while the program is halted. Temporary modification of the source program can be

made (using INCLUDE, DELETE and EDIT statements). A program can be halted and saved

on mass storage for continuation at some later time.


Execution of (non-CFOR) compiled routines is a feature which permits rapid

execution of library and other well proven parts of the program.


The BFOR (before FOR?) syntax analyser performs local and global syntax

checks. It expands abbreviated keywords (eg. 'F:t' can be used in place of

'FORMAT', provides line formatting and automatic continuation.


The FTN compiler is the latest compiler and provides for the Univac FORTRAN

(ASCII) language, which is a superset of the ANSI l966 Fortran standard and

contains many new features which are expected to be in revised ANSI standard. There

is some incompatibility between Fortran V and Fortran (ASCII) and this appears to

be the result of adopting ANSI standard conventions rather than perpetuating non-

standard extensions present in Fortran V. An example of this is the introduction of

type CHARACTER and standard concatenation and comparison operations into Fortran

(ASCII) to the exclusion of the FLD function of Fortran V. Also included in Fortran

(ASCII) are: general expressions for subscripts, list directed I/O, PARAMETER

statement and exponentiation between all numeric data types.


For large programs, a facility called banking (using the BANK statement)

permits the execution of programs which are larger than the store available.


Subscript computations, intrinsic functions, double precision arithmetic,

complex arithmetic and DEFINE statements, which are similar to statement functions,

all generate inline code so that full advantage can be made of inter-statement

optimisations.


The FTN compiler can operate in two modes, checkout and optimisation.