British Computer Society Fortran Specialist Group
Minutes of a Meeting Held on 1 September 1975
at the City University, St. John's Street, London, E.C.1
Present: Mr. D. T. Muxworthy University of Edinburgh
(Chairman)
Mr. E. O. Badger I.B.M. W.T. Systems Aid Centre
(Vice-chairman)
Mr. P. D. Burden Howard Humphreys and Sons
Mr. M. J. King B.B.C.
Mr. P. J. Hamson Honeywell
Mr. G. Harding Imperial College Computer
Centre
Mr. D. Hill Micro Computer Systems Ltd.
Mr. C. K. Mackinnon U.K.A.E.A., Risley
Mr. E. J. Marchant N.E. Surrey College of
Technology
Mr. J. A. Morice Mullard Research Labs.
Mr. B. D. Pyne Atkins Research and Development
Mr. B. H. Shearing Alcock Shearing and Partners
Mr. P. A. Clarke Rothamsted Experimental Station
(Secretary)
Apologies for Absence:
Dr. J. C. Baldwin University College Cardiff
Dr. A. C. Day University College London
Mr. T. D. Palmer Computer Power Ltd.
Mr. J. L. van Raalte Ministry of Defence A.W.R.E.
1. Approval of Minutes
The minutes of the meeting of 5 May were approved.
2. Matters Arising From Minutes
(a) Mr. Muxworthy had received confirmation that the room for the
Group's meeting at Datafair 75 would be from 6.30-9.00 p.m.
on Thursday 2nd October.
3. Future Activities
3.1 Member Survey
Those present thought that the venues chosen were as expected,
with a large majority in favour of London.
The topics of interest were more varied than expected and
there was discussion as to whether it would be appropriate to
set up working parties to study and report on topics or alter-
natively to ask speakers with known experience to talk on the
topics - this latter case was left for action by the steering
committee.
3.2 Datafair 75
Approaches had been made to several computer manufacturers
and favourable initial responses have been obtained. Formal
letters have been sent to two of these and it is hoped that at
least one will be able to provide a speaker for Datafair 75.
Failing this, a speaker on a structured Fortran preprocessor, or
a Fortran database scheme will be obtained.
The meeting will be as usual, with the addition of the speaker.
4. Fortran Group and Committee Activities
4.1 ANSI X3J3 activities
The details of decisions taken at the March 75 and June 75
meetings of X3J3 were discussed and some comments (see Appendix A)
were sent to X3J3. The group were very surprised to see such a
major change as the removal of Hollerith constants at such a late
stage in the proceedings.
The result of the X3J3 straw letter ballot for approval of
FDRTREV/65 (75-04-01) as a draft proposed standard was: 8 YES,
9 Conditional Yes, 3 NO, 3 Abstain, which indicates that further
alterations are likely.
4.2 CODASYL Fortran DBMLC Activities
Minutes of the 5th, 6th and 7th meetings of the CODASYL
committee had been received.
The second draft of the DML syntax had been received from
Mr. McLean and copies of this are available on request.
A brief report of some of the decisions taken by the committee
was given by Mr. Clarke (see Appendix C).
4.3 Fortran Development Committee Activities
The fourth FORWORD newsletter has been received. The purposes
of the committee include: "To form a bridge between active imple-
mentations of Fortran extensions, and the ANSI X3J3 Fortran stan-
dards effort. To provide a forum for interchange of ideas and
proposals, for groups interested in extending the Fortran language
in various ways. To obtain and distribute information concerning
developments in, and extensions to, the Fortran language as
defined by existing standards. To take stands and make recommenda-
tions (after adequate consultation with all interested parties)
concerning the desirability or undesirability of implementing cer-
tain features in certain ways. in the hope of reducing the prolifera-
tion of dialects by reacting in a timely way to new language deve-
lopments".
4.4 Other Groups
No other reports were received.
5. Progress Reports
5.1 PFORT verifier
Mr. Morice gave a report on his implementation of PFORT. He
described the options available and explained a sample of output
(see Appendix D).
5.2 Other Reports
In the absence of Mr A. Walter (Atlas Lab.), a provisional
report on the Schneck-Angel optimising compiler was given by
Mr. Clarke (see Appendix E). Some sample outputs were available
for inspection.
6. Other Business
Mr Morice asked if any member knew of a standard conforming
Fortran program for 'relabel1ing' Fortran programs. Mr. Muxworthy
said that he knew of such a program for the IBM 7090.
Mr. P. Draper (of RTZ Computer Services, P.O. Box 19,
1 Redcliff Street, Bristol BS99 7JS) had written to enquire if any
member knew of a "compiler that is more sophisticated than either
IBM Fortran IV G or H and offers facilities that are more in line
with Univac Fortran V" for use on an IBM 360/50.
The members present knew of no such compiler, but suggested
than some of the pre-processors listed in the FORWORD newsletter
may provide some of the features required.
7. Next Meeting
The next meeting will be held from 6.30-9.0 p.m. on 2nd October
at the Cunard Hotel, London as part of Datafair 75.
8. The guest speaker,
Mr. B. Shearing, gave a presentation on compiling Fortran on
Small Machines and this was followed by questions and discus
(see Appendix B).
9. Details of Steering Committee Meeting Relevant to Members.
9.1 Commitments
Following the successful introduction of a system for
refereeing of algorithms and papers by members of the group for the
BCS publications, it was thought that a system of advisers on
specialist topics could be set up. This was a result of the
officers receiving requests for information relating to Fortran
matters and not knowing where to direct these requests. Any
member with specialist Fortran knowledge in fields such as:
simulation, statistics, numerical analysis, engineering,
computer graphics, compilers etc. who wishes to contribute
should contact a member of the committee.
9.2 Future Activities
In order to make arrangements for speakers, it will be
necessary to plan meetings well in advance, and it was proposed
that meetings will be held on the "first Monday in alternate
months" starting 1 December 1975, 2nd February 1976, 5th April 1976,
7th June 1976 then a break until 4th October 1976.
M E M O R A N D U M
To: ANSI X3J3 From: British Computer Society
Fortran Specialist Group
Date: 8th September, 1975
Subject: Comments on Items under discussion
The following points arose at our meeting of 1st September 1975. The
comments relate to the decisions taken at the June 1975 meeting of X3J3:
1. The definition of a collating sequence within letters and within digits
requires two further extentions to make the facility generally useful:
a) The collating sequence of letters should not overlap with that of
digits.
b) The position of the space (blank) character should be defined
(again, not overlapping with letters or digits) because padding
spaces may be introduced by certain of the character operations
provided in the new standard.
2. We would like to see blank lines allowed between continuation lines in
the same way as comment lines.
3. The group was very surprised to see the removal of Hollerith type.
Despite the good reasons for this, we think that a change with such large
implications to existing compilers and programs should have been
introduced as an 'intention' to be implemented at the next revision,
rather than being put into immediate effect.
The wide use of Hollerith type for the hash table technique does not seem
to be possible with the new type CHARACTER, and some provision (such as a
standard function, HASH) for converting CHARACTER type to INTEGER type
would be welcomed. Also ENCDDE and DECDDE functions or an assignment
statement could be used for numeric conversion of CHARACTER digits to
INTEGER type.
4. We believe the latest syntax for character variables to be ambiguous. For
example:
CHARACTER (10) A (20)
may indicate A to be a single character variable of length 20 characters
or a character array of 20 elements each of length 10 characters. This is
a consequence of replacing < and > by ( and ) respectively in the syntax
given in Appendix X of the minutes of the March meeting of X3J3.
Summary of a talk by B. H. Shearing on Compiling Fortran on
Mini Computers.
Brian Shearing described the ideas which form the basis for
his implementation of a Fortran Compiler for a range of mini
computers.
It had been found that the small amount of core storage
available was not as severe a restriction as originally expected,
but the instruction sets provided on machines at extreme ends of the
range varied considerably and represented a problem which is often
not encountered on ranges of large machines.
An important feature of his implementation is the careful
definition of an intermediate language (between Fortran and machine
code), statements of which can be mapped easily onto the machine
codes of the range of machines.
A compiler for BASIC and one for a 'systems language' also
made use of the same intermediate language.
The translation of Fortran to intermediate language was
preformed by fairly conventional symbol table usage and stacking
algorithms. These had been kept as simple as possible and no
attempt had been made at optimisation.
Several Optimisations were possible as separate processes on
the intermediate language.
Some of the audience saw a similarity between the intermediate
language and APL.
Summary of CODASYL Fortran DBMLC Meetings
Meeting 5 12-14 February 1975. Host: Mr. J. Tyler, Luisiana State
University
A rough draft of the manipulation language syntax had been
prepared and discussions and irregularities and required changes
took place. The keyword ALL was changed to MULTIPLE in some
instances where its use caused conflict. The USE statement to
control global errors in COBOL was studied to see if there was
any equivalent facility required in Fortran. There was a sugges-
tion that the proposed ANSI X3J3 OPEN statement could be modified
by adding ACCESS-DB for Data Base.
Meeting 6 28-30 April 1975. Host Mr. T. Harris, Cricket Inn,
Roseville, Minnesota.
The committee voted 5 to 1 in favour of: "The general form
at all FORTRAN DML statements will be a DML verb followed by paren-
thesis enclosing a list parameters". Formal definitions were
drafted and approved for: Integer Variable, Variable, Character
Variable, Transfer List, DB Key, DB Names, DB Name, RUN UNIT.
The determination of the meanings of the expression RECURD=XYZ
was clarified. The COBOL USE statement could be replaced by
a 'procedural cal1' of the form ERR=SETA(. . .) where SETA
is a procedure name with an optional argument list which provides
global control in the event of an error.
Mr. M. Lavin gave a talk on the ANSI SPARC Committee work on
Data Base Systems.
There was discussion on the INVOKE statement.
Meeting 7 24-27th June, 1975. Host: Mr. M. Black, Ambassador Inn,
Decatur, Illinois.
The committee decided to study the sub-schema to determine
what would be necessary in a subschema language for FORTRAN.
(Up 'till now the committee had only considered the Data manipu-
lation language).
For example, the schema:
01 EMPLOYEE
02 A TYPE FIXED
02 BBBBCCCC TYPE CHARACTER (8)
might have a possible mapping in FORTRAN:
SUBSCHEMA SAM
RECORD/EMPLOY/A, B
INTEGER A
CHARACTER B
A draft list of contents for a document to be called FDBMLC
CODASYL FORTRAN DATA BASE MANIPULATION LANGUAGE was drawn up.
The document will contain sections on Introduction and need,
History and Background, Sub-Schema language specification for
FORTRAN, DML/statements, Exception Handling and Sample Programs with
all details.
Report on PFORT Verifier
Mr. Morice's implementation was on an ICL 1904S computer and
required 42K of storage. The running speed was approximately 10
to 20 lines per second, which was considerably slower than the
normal Fortran compiler for that machine.
It had been necessary to write an ICL 1900 Fortran version
of routines called PACK and UNPACK but this was a fairly simple
matter and the complete implementation had taken about two man-
weeks.
His practical experience with the use of the program was that
it provided useful confirmation that programs were transportable,
particularly in situations as in his case, where a company uses
many different computers. It could act as an objective support to
internal company standards. His experience was that the number
of times PFORT would be used would be very small despite its use-
fulness. The reason for this was that those existing programs in
his company which were required on several machines, were already
operational on those machines, and for those programs being deve-
loped, its application would be of a 'once-only' nature.
The only suspected bug encountered was when a logical expres-
sion contained a construct of the form: .EQ.-4. This caused an
error message which indicated two consecutive operators.
Mr. Morice was willing to give further information to members
of the group upon request.
It was known that Dr. A. C. Day (UCL) had implemented PFORT
on an IBM 360 computer.
Provisional Report on Schneck-Ange1 Optimising Compiler
In addition to the points made in the minutes of the meeting
of 7 March 1975, a series of tests had been made on the compiler
and it had been found that (1) The compiler performed the sample
test shown in the Computer Journal Vol. 16 No. 4 November 1973
correctly. (2) The compiler failed to correctly optimise some
very simple tests because it appeared to ignore information on
input/output statements, COMMON and other non-executable state-
ments. (3) The compiler produced no significant change on
several existing routines that had been written by experienced
programmers. The IBM H level compiler reduced execution time
for these routines by 60% in one case. (4) In some tests the
code produced by the compiler was not Fortran. The code
generated was intended to act as comment to locate places where
temporary work vectors could be employed, and as such was useful,
but had the disadvantage of introducing a manual element into
the optimisation, i.e. the optimiser is not fully automatic.
(5) In one set of test data which had been generated by a Fortran
Macro-preprocessor, it was found that redundant working variables
generated by the macro expansions were not removed by the opti-
misor. This was disappointing because the text from the structured
pre-processor was amenable to optimisation. (6) The time to
optimise the source was typically about ten times that taken by
the standard compiler (on an ICL System 4).