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
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.
[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
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.