BRITISH COMPUTER SOCIETY - FORTRAN SPECIALIST GROUP
MINUTES OF MEETING HELD AT BCS HQ, MANSFIELD STREET, LONDON ON 10 DECEMBER 1984
Present: M J Appleford - The Ove Arup Partnership
D Bailey - Salford University
L Devaney - LB Ealing
M R Dolbear - BP International, London
J L Dyke - HRC
T M R Ellis - Oxford University
M L Ellnor - BICC Research and Eng Ltd
W Flexner - Retired
D T Griffiths - System Software Factors
B R Hogg - British Gas
D Lambert - MOD, DOAE
Chris Lazou - University of London Computer Centre
Brian Meek - Queen Elizabeth College
David Muxworthy - University of Edinburgh
K Normington - Coventry Polytechnic
Mike Nunn - CCTA
A R T Ormsby - University College of Wales, Aberystwyth
E G Reilly - BSRA
N W Smith - British Gas
B Steiner - Bacon and Woodrow
D Vallance - Salford University
Dr H Walters - BICC Research and Eng Ltd
D Watkins - UMIST
Alan Wilson - ICL
John Wilson - Leicester University
Chairman John Wilson
University of Leicester
Secretary Mike Nunn
Treasurer Keith Normington
Coventry (Lanchester) Polytechnic
1. APOLOGIES FOR ABSENCE
Apologies were received from John Reid (Harwell) and Lawrie Schonfelder (Liverpool
2. MINUTES OF LAST MEETING [10 September 1984]
The minutes were accepted.
3 MATTERS ARISING
Draft BSI standard document "Method for Specifying Requirements for FORTRAN
BSI have totally re-written this in their own english style. It is expected
to be accepted at their mid-December meeting and then go out for public comment.
It will be published in BSI News, but this is unlikely to be widely seen in
the Fortran world. David Muxworthy, a member of the BSI committee, will try to get
copies for the BCS Fortran Group. Appendix A of these minutes contains the front
page of the draft document. Anyone wishing to receive a copy of the full draft should
A J Williams
British Standards Institute
2 Park Street
Cost is £3.50.
4. BCS BUSINESS
(i) BCS Specialist Groups Board.
Two recent meetings had taken place which were attended by our
Chairman. Main items of interest were:
(a) A proposal to offer non-BCS members an "affiliate"
membership at £14-15 pa.
(b) Dr Barber has retired and Mr d'Agapeyeff has taken
over his duties as Vice-President.
(ii) A BCS congress is being organised from 29-31 March 1985 to discuss
the future of the Society and each Specialist Group is being asked
to send 2 representatives. Agenda and timetable are in appendix B.
Anyone interested in representing the Fortran Group should contact
(iii) Budgets submitted by Specialist Groups are more than the total
funds available so there will probably be some cutbacks in
(iv) A new Specialist Group called "Computational Physics" is being
formed. Anyone interested should write to the organiser,
Peter Marcer, 65 Wellsway, Keynsham, Avon. [see appendix F].
5. X3J3 PROGRESS
John Reid has kindly supplied a report on the 12-16 November meeting of X3J3 in
Fort Lauderdale (see appendix C). In John's absence Alan Wilson gave his
impressions of the X3J3 meeting:
(i) X3J3 is working on S8 document (defining the content of "8x")
which it hopes to have ready for public review a year hence.
(ii) BIT data type - is now back in "8x"
(iii) WHILE statement - until the X3J3 meeting before last was not a
feature being considered but was then voted in.
But at the Florida meeting was taken out.
(iv) Applications Module - this is the latest evolutionary stage of
the core and modules concept. It has
facilities replacing F77 concepts. Amoco
wanted a standard module for fast Fourier
(v) Exception handling - still some way to go before finalisation.
(vi) Source form and significant blanks - some confusion in this area
and eventuality is uncertain.
Anyone with comments on the proposed content of "8x" can forward them via
Alan Wilson, John Reid or Lawrie Schonfelder who regularly attend X3J3
meetings as UK representatives.
6. FORTRAN FORUM
Following the X3J3 meeting in Oxford next summer there will be a Fortran Forum
in London on Monday 15 July. John Reid is arranging the agenda which will include
leading members of X3J3 talking about the content of the next Fortran Standard
"8x". Our Group is hoping for an attendance of about 100-150. Coffee,lunch
and tea will be provided. The fee for attending is still to be decided but will
be notified in the newsletter accompanying the minutes of our next meeting which
will also contain a booking form.
7. ANY OTHER BUSINESS
The Group would welcome suggestions on topics for talks in the afternoons at
future meetings. Anyone with ideas please complete appendix D and return to the
8. DATE OF NEXT MEETING
The next meeting of the Group will take place on Monday 11 March at BCS HQ from
lO.45am to 4pm. It will include the AGM. In the afternoon there will be a
talk on "DEC Fortran compilers and program development aids" by a speaker from
Digital Equipment. More details will appear in "Computing" nearer the date.
9. "MIXED FORTRAN AND PROLOG" - TALK BY DR DAVID BAILEY (SALFORD UNIVERSITY}
At the afternoon session Dr David Bailey from Salford University gave a talk
on "Mixed Fortran and Prolog", describing the implementation of the Salford Lisp/
Prolog System in Fortran 77. A synopsis appears in appendix E.
31 December 1984
Private circulation Document 84/54563
Technical Committee OIS/5 - Date: October 1984
DRAFT BRITISH STANDARD METHOD FOR SPECIFYING REQUIREMENTS FOR FORTRAN LANGUAGE
This British Standard has been prepared under the direction of the Office and
Information Systems Standards Committee. It is complementary to ANSI X3.9 -
1978 (= ISO 1539), the internationally recognized standard for the computer
programming language FORTRAN and needs to be read in conjunction with that
Compliance with a British Standard does not of itself confer immunity from legal
1. Scope 4
2. Definitions 5
3. Contents of the specification 6
4. Specification of requirements related to the requirements of
ANSI X3.9 - 1978 7
5. Specification of additional requirements not covered by
ANSI X3.9 - 1978 48
TABLE 1. Assignment statements 30
Head Office 2 Park Street London W1A ZBS Tel O1-629 9000 Tx 266933 BSILON G
Information Services and Marketing Linford Wood Milton Keynes MK14 GLE Tel 0908 320033 Enquiries Tel 0908 320066 Tx 825777
Quality Assurance Division Maylands Avenue Heme] Hempstead Herts HP2 4SQ Tel 0442 3111 Tx 82424 BSIHHC G
Manchester Office 3 York Street Manchester M2 2AT Tel 061-832 3731 Tx 665969 BSIMAN G
To all Specialist
Date: 27th November 1984
Members Congress 29-31 March 1985
As you are aware the Society is organising a Member Congress at the University
of Reading to look at the image of the Society, its purpose and its future
In order that the Specialist Groups obtain as much representation and exposure
as possible, groups are again asked to nominate a delegate to attend the Congress.
(Some groups have already nominated a delegate and may ignore this matter)
Enclosed is a copy of the proposed timetable and a form on which Specialist
Groups are asked to name their delegate, with 1st and 2nd choice. It would be
appreciated if all groups could return the forms, even if only to show a
I would also like to confirm that fares to Reading and all accommodation and
conference fees will be paid by the Society.
Thanking you, in advance, for your cooperation.
Liaison Executive Specialist Groups
THE BRITISH COMPUTER SOCIETY
13 MANSFIELD STREET, LONDON W1M 0BP
Members' Congress PROPOSED TIMETABLE
Friday 29th March 1985
3.00-7.00 pm Arrival at St Andrew's Hall, Reading.
7.15 pm Buffet dinner
8.30-9.30 pm Opening Session of Congress (in St Andrew's dining
Hall.) HOW THE OUTSIDER VIEWS THE SOCIETY
Bar open to 10.30. Food available for late arrivals.
Saturday 30th March 1985
08.00 Breakfast at St Andrews
09.15-10.45 Plenary Session 1 in Lecture Theatre
THE CHARTERED SOCIETY;responsibilities;framework
and opportunities. John Ivinson & Derek Harding
11.15-12.30 Plenary Session 2 - Introduction to the working
parties by the working party chairmen (4 x 15 mins)
14.00-15.30 1st working party Session
16.00-17.30 2nd working party Session
17.30-19.00 Free time/special sessions/ overrun etc
19.30 for 20.00 (Formal) reception & dinner.
Guest speaker: John Ashworth or Philip Hughes
Sunday 31st March 1985
09.30-10.45 Final working party session
11.15-12.30 Plenary Session 3 - reports of the working parties
14.30-15.30 Plenary Session 4 - summing up and rallying
15.30 Tea and dispersal
WORKING PARTY THEMES AND TOPICS
Image and Role of Society
Next 5 years - leading edge
Services to members:
Professional Development Scheme
Courses - internal for BCS exams
Exemptions and validations
Professional standards and Codes of Practice
Registration and licensing
Junior membership and schools relations
Relationship with other bodies.
The following names were put forward as desirable working party
Outward: Adrian Norman or
Inward: Chris Hudson or
Professional: Ernest Morris or
Miscellaneous: Jim Nix or
To: NAG,BCS,DAP, etc.
From: John Reid
Date: 20 November 1984
Subject: Report on X3J3 meeting at Fort Lauderdale,
12-16 November 1984
 92(*)WSB-4 Delete WHILE control from the block DO
 92(*)JTM-2 WHILE control considered harmful
 92(.)RPJW-l Reconsidering WHILE
 92.RLP-l Signal processing module
 92(7)KWH-l Exception handling in hierarchically designed programs
 92(7)KWH-2 CONDITION and ENABLE
 92(7)KWH-3 Intrinsic conditions proposal
 92(11)JLW/JKR-l Source form
 90(*)JTM-l Proposed intra-language compatibility policy
 92(9)JLS-l Extended declarations
[1l] 92(*)GEM-l Bit data type proposals
 92.JLW-3 Bit data type module
 92(9)KWH-4 Proposals on variably associated names
 92(6)JKR-l Many-one maps in IDENTITY
 92(6)JKR-2 Replacement of vector-valued sections
 92(11)JKR-3 RECL lengths
 92(*)JTM-l Construct names - where to put them
 92(9/6)JLS-2 Qualification of structure arrays
This was an active meeting which was agreed to be the last for
technical proposals other than those needed to rectify flaws in the
language during document preparation. Proposals were therefore pushed
through to formal votes in circumstances that would normally have led
to fresh proposals being prepared for the next meeting. The following
(l) deletion of WHILE,
(2) exception handling,
(3) deletion of event handling,
(4) multi-statement lines and in-line commentary in the old source form,
(5) extensions to type statements,
(6) BIT data type,
(7) INQUIRY for RECL length of an io-list,
(8) mathematical notation for comparisons (e.g. < for .LT.),
(9) use as arrays of arrays of structure components.
It was followed by a working weekend to consider the language
document S8. The committee has become serious about the writing of S8
as its top priority from now on. No more versions of S7 will be
produced and it will be left to section authors to incorporate
technical proposals passed at this meeting into S8.
2. DO WHILE
Three papers (,,) opposed the DO WHILE on the grounds
that it adds no functionality, that there was negative reaction at the
Fort Collins forum, and that beginners are misled about when the test
is made, whereas exit is just what is needed. It was passed at
Jackson only narrowly (12-l0) and at this meeting was deleted (18-8)
on a roll-call vote.
3. Application module for signal processing
The proposal  to standardize an application module for signal
processing (Fourier transforms, etc) was not favoured (6-ll-14).
There was concern that few members of the committee have the
competence to judge the merits of such a module, though they have the
competence to judge the interface (the part that would be
standardized); there was confusion as to whether X3J3 is the right
body to standardize such a module, what procedures would be necessary
to do so and what its status would be.
4. Exception handling
Kurt Hirchert's proposals on exception handling (see ),
essentially unchanged since 6 months ago, were reconsidered. The main
proposal  passed (20-5) and the proposal specifying conditions 
passed (21-l). A straw vote (10-3-16) favoured handling STOP
similarly. A proposal to delete the event handling features passed
(24-0). A straw vote on "can X3J3 accept the goal of integrating at
least a minimum set of features for multitasking and synchronization
in Fortran 8x?" was negative (6-22-2).
5. Source form and significant blanks
The committee spent a long time discussing the source form and
significant blanks but the only change made was to add in-line
commentary and multi-statement lines to the old source form (16-5).
Last meeting's proposal to delete significant blanks was put afresh
and failed (12-12). The idea of having a single source form was
favoured (28-2-6) and Jerry Wagener and I suggested two ways to
(1) (see ) add to the old source form the compatible parts
of the new form; deprecate insignificant blanks, and
(2) standardize on the new form only but provide a preprocessor
to convert old programs to the new form.
A straw vote favoured the second approach (5-25-4). It was pointed
out that other minor transformations could be handled (e.g. ".LE."
might be replaced by "<") and such an approach was in line with the
intralanguage (i.e. between versions) compatibility guide-lines 
but worries were expressed about whether the preprocessor could be
written without errors and the possibility of the committee being sued
for the consequences of errors. Straw votes on this proposal failed
(5-27-2 and 6-23-2). The original proposal was then reconsidered and
received a favourable straw vote (19-7-6) but eventually failed (7-15)
despite the realization that old standard says nothing about columns
73 onwards so one of the objections, the barrier at column 73, was not
real. Confusion over this matter may have led to the negative vote.
Jerry Wagener's wish for implicit continuation following any line
ending "," and a variety of other possibilities, failed (6-14-12,
6. Extended type statement
Lawrie Schonfelder proposed extensions to the type statement
to allow all the properties of a data object to be declared in one
statement, which was the main purpose of entity-oriented declarations
(deleted at the last meeting). A simple example of the new form is
Straw votes favoured PARAMETER as opposed to CONSTANT for constants
(14-7-l0), for default ARRAY properties to be included in the
attribute list (e.g. in the above example A and B have shape [10,10]
but C has shape [2O]) (18-8-9), and for the keyword ARRAY rather than
DIMENSION (19-8-8). The proposal passed (22-5). A new INITIALIZE
statement, exemplified by
gives the functionality of DATA for initializing parts of arrays.
7. BIT data type
Geoff Millard proposed a BIT data type  consisting of a
single bit and relying on a small number of intrinsics and on the
array features of the language to do worthwhile operations. This was
favoured (25-8-5) over the S6 approach of strings of bits (similar to
character data). It was also favoured (22-11-4) over Jerry Wagener's
proposal  for derived data type in a module, although the latter
would have given very similar capabilities and have had a very
insignificant effect on the language, confining the description to a
single section; the committee was concerned about the likelihood of
inefficient implementation and about i/o, which is still not resolved
for derived data types. The proposal passed (14-9).
Kurt Hirchert gave a presentation of his ideas  on "variably
associated names" and received a favourable straw vote (13-10-9) but
did not have a formal proposal ready.
9. Language document preparation
The chairman became very concerned about the technical changes
being passed at a meeting that was intended to give priority to
preparation of the document, and asked the subcommittees to consider
the possibility of standardizing the array features as an extension of
Fortran 77. However no one was keen on the idea, although the array
subgroup reported that there were no technical difficulties. It was
thought that this would not save very much time for the array
features, while it would lose a great deal of time for the rest of the
language. It would also threaten the continuity of the work since
only the array subgroup would remain active. The idea was dismissed
and a ban on technical proposals while S8 is constructed and honed
into shape was accepted.
It is anticipated that it may be two years before a draft is
available for public comment and a further two years before the
language is formally accepted.
Those active in the preparation of the document remained for the
weekend after the meeting to work on it.
l0. Array features
Ten different ways to express the IDENTIFY syntax were
considered. The preferred variants are exemplified by
(l) IDENTIFY(F(I)=B(8-I,I), I=l:5)
and in a run-off (l) was slightly more popular (15-12-6).
My two personal proposals on banning many-one maps in IDENTIFY
statements  and replacing vector-valued array sections by
intrinsics  failed (5-16,4-19), although in both cases initial
straw votes were favourable (17-8-7,13-9-12). It is disappointing
that so few supported my view of the importance of safety and
regularity as opposed to notational convenience.
Examples for the function PROJECT were accepted (26-0).
My proposal  on an inquiry statement to find out the lengths
(in processor-dependent units) of an unformatted io-list passed (11-l0).
The keyword RECL was replaced by IOLENGTH so that the statement takes the form
where iolen is an integer variable. I agreed in sub-group that my
first proposal for this purpose in  was inadequate and that my
proposal  on avoiding automatic line feeds did not meet all the
requirements for input-output to terminals (principally because I did
not address the practice of using separate units for input and output
to a terminal).
12. Relational operators
The use of the notation < for .LT., <= for .LE., == for .EQ., <>
for .NE., > for .GT., and >= for .GE. was reconsidered following the
decision at the last meeting not to use <,> for "angle brackets".
This time the proposal passed (16-9).
13. Return of function results
Walt Brainerd suggested that the FUNCTION statement could be
simplified by allowing the result to be attached to the return
statement. He did not have a formal proposal but the committee
encouraged him to work on it (l0-4-13).
14. Construct names
Jeanne Martin  wanted construct names to appear on the right
rather than the left of initial statements of blocks, but did not
convince the committee (8-13).
15. Qualification of structure arrays
Lawrie Schonfelder has wished for a long time to be able to use
arrays of structure components as arrays in array expressions and as
actual arguments, but met much opposition. However on this occasion
his proposal 2  passed (2l-l). This keeps the present form (e.g.
STRUCTURE%COMPONENT) and was preferred (25-4-1) to proposal 1, in which
the component names are written ahead of the structure names so that
16. Next meeting
The next meeting will be held in the week 11-15 February. The
deadline for pre-meeting distribution (receipt of material in US) is
The Group would welcome suggestions from members for topics etc for future
meetings. So could anyone with ideas complete the attached form and send it
to the Secretary.
Please list anyone (if known)
who you would suggest to talk
on each suggested subject.
[address and phone no. would help]
ORIGINATING MEMBER'S NAME, ADDRESS, PHONE NO
Please send this to:
BCS Fortran Specialist Group
"MIXED FORTRAN AND PROLOG" - TALK BY DR DAVID BAILEY (SALFORD UNIVERSITY)
Salford University developed a Fortran 77 compiler for the ICL 1900 in 1978. At
a later date they implemented it on their PRIME system and went on to sell it
successfully worldwide in competition with PRIME's own compiler.
BACKGROUND TO PROLOG
Prolog was so named as an abbreviation for "Programming in Logic". It first
appeared in 1972 as the result of work on computers in the 1960s associated with
theorem proving using first order predicate calculus.
NATURE OF PROLOG
Rules and facts are the only constituents of Prolog programs.
(i) a Prolog fact:
parent (joe, olga)
(ii) in Prolog you can ask questions in which one of the components
is a variable (and will thus acquire a value):
father (reginald, david)
(iii) sets of Prolog rules:
brothers (x,y):- parent (z,x) parent (z-y)
male (x), male (y,x)=y)
mother:- parent (x,y) female (x)
(iv) whereas in Fortran one can have assignment statements
EG x=y, y=y+1
these have no equivalent in Prolog where a variable takes
one of two states viz: uninstantiated (undefined)
a list of any 3 objects which might acquire
a list of any length in which the first two
elements are a and b
RECOMMENDED BOOK ON PROLOG
To learn Prolog David Bailey recommends the book "Programming in Prolog" by
Clocksin and Mellish.
THE SALFORD PROLOG IMPLEMENTATION
The Salford Prolog implementation is written in Fortran 77. One of the essentials
is a flexible mechanism for holding structures. Store is broken up into a large
number of cells used as absolute addresses. Lists of variables are kept in "trails"
with addresses for backtracking and places to jump out to at choice points.
Matrix manipulation and iterative processes are not suitable for Prolog
because they need fast execution speed and easy coding. But engineering packages
seem well Suited to having front-ends written in Prolog.
The Salford implementation costs £2000 to academic users. There are no plans
to port it onto other machines at present.
THE BRITISH COMPUTER SOCIETY
13 Mansfield Street, London WlM 0BP
Formation of a Specialist Group for the understanding and promotion of
Computation as Physics.
Much research is being reported from the USA in this area which appears
of fundamental importance and highly relevant to the achievement of 5th
Generation Objectives. Its specific remit concerns the physics or thermo
-dynamics of computational processes and their reversibility as understood
via algorithmic information theory and about how computational structures
reproduce and evolve via the theory of cellular automata - the second half
of the computational inheritance that Von Neumann left us. It concerns
Ballistic, Brownian, Boltzman and Cellular Automata architectures.
The purpose is to provide a focus and a nucleus around which those with an
interest in these fields could crystallize their activities and make
Would all those with an interest or potential interest in such a group
Peter Marcer FBCS
Avon BS18 1HX
Tel: 0272 86 4729
It is hoped to constitute the first meeting of the Group at the beginning
of the new year.