Minutes of BCS Fortran Specialist Group Meeting held at

BCS HQ on 19th April 1988


Present:                Mike Bennett        -        CEGB Staff College

                        Mike Delves         -        University of Liverpool

                        Miles Ellis         -        Oxford University

                        Mike Geary          -        NAG

                        Dave Griffiths      -        SSF

                        Carol Hewlett       -        LSE

                        Peter Holland       -        SSL

                        Chris Lazou         -        ULCC

                        Clive Massey        -        Bath University

                        David Muxworthy     -        University of Edinburgh

                        Keith Normington    -        Coventry Polytechnic

                        Mike Nunn           -        CCTA

                        Nick Saville        -        ASE Ltd

                        Julian Tilbury      -        University of Salford

                        John Wilson         -        Leicester University

                        John Young          -        MOD(PE)


l.      APOLOGIES FOR ABSENCE


        Apology was received from Lawrie Schonfelder.


2.      MINUTES OF PREVIOUS MEETING [21 January 1988]


        The minutes of the previous meeting were accepted without revision.


3.      MATTERS ARISING


(i)     BSI Response to ANSI on Fortran 8X


        The BSI committee responsible for providing the official UK response

to ANSI on the Fortran 8X draft standard had voted "No, with comments" and listed

those features which would need modification for its vote to be changed to "Yes".

However, the BCS Fortran Group was not happy with this, given that most of the

attendees at the recent "Fortran Forum" had been broadly in favour of the 8X

draft. It had been agreed at our previous meeting that the Chairman, John Wilson,

should write to BSI and CBEMA to make it clear that we basically supported the

draft but wished to make some comments on it. However, subsequent discussions

in which John was involved indicated that it would not be good for the UK to

appear split so John has written to CBEMA and also sent a mail message to the

chairman of X3J3, Jeanne Adams, pointing out that the Group was broadly in favour

of the draft and wanted ANSI to proceed with it as quickly as possible. Miles

Ellis, who attended the last X3J3 meeting, said that because the committee thought

there was no likelihood of getting BSI to vote "Yes" its comments would be dis-

regarded; therefore its response had been counter-productive. The UK was

insisting on too many things being changed, which was just not feasible, before

changing to a "Yes" vote. Chris Lazou had raised the problem of how the UK

response was formulated in the BCS Software Engineering Technical Committee and

DTI was trying to co-ordinate a more positive response to ANSI. David Muxworthy,

convenor of the ISO panel, however, pointed out that BSI was forced to vote "no,

with comments" because "Yes, with comments" effectively gets ignored in ISO

situations. His committee had tried to word its response reasonably positively

but unfortunately there had not been enough time to agree the wording. In

addition, there had been misguided information from above on what type of response

was possible to reflect his committee's views. In summary, they were in favour

but would like to see certain small changes.


4.      BCS BUSINESS


        Fortran Forum


        A statement of accounts had now been received from BCS showing a surplus

of £784 on the "Forum" but did not include reimbursement of speakers'expenses.

There might be further income to the Group from the sale of spare copies of the 8X

draft. Net final profit was likely to be about £500.


        Specialist Groups Management Committee


        A report has been drafted advising on how to set up a new BCS specialist

group or maintain an existing one.


        Charter Engineer Status


        This new membership qualification is being developed on the expected

timescale.


        AGM


        There being no other nominations, the Chairman (John Wilson), Vice-

chairman (Chris Lazou) and Treasurer (Miles Ellis) were re-elected unanimously.

John Young was elected Secretary as successor to Mike Nunn, who did not wish to

stand again. The Chairman proposed a vote of thanks to Mike for his many years

work in the post.


        The Treasurer presented the report detailed in Appendix A. Once again

the Group has asked BCS for an allocation of £600, although we have spent only

just over £200 during the year, partly because speakers at our meetings have

never asked for expenses. We had also saved money by no longer paying a fee for

ANSI observer status (which allows a copy of X3J3 minutes - not thought worthwhile

given that we were receiving excellent reports on the progress with 8X from those

Group members who regularly attend XSJ3 meetings).


        From the Treasurer's financial report it can be seen that our financial

affairs are in a healthy state with the order of £2,000 in the bank. Miles

Ellis suggested this gave us a certain amount of flexibility in arranging future

events. Chris Lazou thought it gave us opportunity to set up a few trial evening

meetings, we had enough funds now to hire rooms for such and reimburse speakers.

This would give the Group greater visibility. Suggestions for talks are invited

from members; one from Chris is to explain in more detail some of the new features

in 8X.


        We have about 15 copies of the 8X draft left over from "Forum" which we

can now offer for free.


5.      PROGRESS WITH FORTRAN 8X


        ISO Situation


        David Muxworthy reported that the ISO public review of the Fortran 8X

draft closed at the end of January. The international voting resulted:


                    "Yes, without comments" - 7

                    "Yes, with comments" - 1

                    "No" - 6


The "No" voters were Canada, France, W Germany, Japan, UK and USA. Reasons for

"No" votes included:


Canada      - Wanted bits, significant blanks, pointers


France      - Language too big

            - Wanted significant blanks, bits, pointers

            - Basically wanted 8X to be F77 plus a few "extras"


W Germany   - Wanted bits, pointers

            - Wanted stream I/O in long term and variable length character strings


Japan       - Rejected draft because it has not catered for Japanese character set


USA         - "No" vote was procedural because further changes to the draft were

              still to be incorporated


        X3J3 Position


        Miles Ellis, who regularly attends X3J3 meetings, said that the committee

has been developing a list of changes which they realise will need to be applied

to the 8X draft once the review period is over. A new document, mostly with

editorial changes, will be produced. The committee is building up a database of

all the points received during the review. Sub-groups within XSJ3 will be allo-

cated to deal with them. So far comments have been received from 400 individuals

and these will be considered at coming meetings. Under X3J3 rules any change to

the draft needs a 2/3 majority of those voting. One general problem is that for

some features, eg generalised precision, most users do not want but the minority

that do are exceedingly keen for them.


        There will be an ISO working group discussing 8X this September in Paris -

anyone wishing to attend should contact David Muxworthy to be registered as an

accredited delegate. John Wilson put forward the idea that our Group could sponsor

sending someone regularly to ISO meetings (yearly) but it was for members to

decide whether this was a sensible way to spend the Group's funds. Keith

Normington suggested it required tabling on the agenda for the next meeting and

given appropriate discussion.


        John Reid (Harwell) has supplied a detailed report on the latest X3J3

meeting held at Urbana, which appears in Appendix B.


6.      ANY OTHER BUSINESS


        The Secretary pointed out that a membership renewal form would be sent

out soon to every member. Non-BCS members would be charged £5 to cover cost of

newsletter and administration costs for the year 1988/89.


        The Group would welcome suggestions from members on topics and speakers

for future meetings. Provisional dates for these are:


                    Thursday, 28 July 1988

                    Thursday, 6 October 1988

                    Thursday, l9 January l989

                    Thursday, 27 April 1989 (including AGM)


7.      TALKS "ADA VERSUS FORTRAN"


        In the afternoon Professor Mike Delves gave an entertaining talk comparing

Ada with Fortran. This was followed by a lively account by Nick Saville, member

of our Group and a software writer by profession, giving his own experiences in

the same area. Summaries of both appear in Appendix C.


8.      DATE OF NEXT MEETING


        The next meeting of the Group will take place on Thursday, 28 July 1988

from lO.3O am to 4.00 pm at BCS HQ, Mansfield Street, London.


Mike Nunn

Secretary

BCS Fortran Specialist Group


3 June 1988



                                    Appendix A

                 British Computer Society Fortran Specialist Group
                               Final Accounts 1987-88


A)    Internal Account

      Budget Allocation for 1987-88                                      600.00

      Expenditure
            Minutes  (July)             62.13
                     (Sept)             46.28
                     (Dec)              69.32
                     (Feb)              21.84
                     (Apr)              14.37
            Catering (Oct)              17.50
                     (Apr)              25.00
            Speakers
            Expenses (Apr)              26.15
            Postage of
            Standards                   17.60
                                       300.19                            300.19

                                          Surplus returned to HQ         299.81


B)    Current Account

      Balance at 30/4/87                                                 373.05

      Income
            Subscriptions               10.00
            Newsletter
              Sponsorship               80.00
            Surplus from Fortran
              Forum                    550.14
            Transfer of deposit
              a/c                     1027.92
                                      1668.06

      Expenditure
            Meeting expenditure         27.00

                    Net surplus       1641.06                           1641.06

      Provisional Balance at 30/4/88                                    2014.11

C)    Deposit Account

            Balance at 30/4/87                                           961.83

            Interest                                                      66.09

            Balance at 29/4/88                                          1027.92

            Transfer to current a/c 29/4/88                            -1027.92

ACCOUNT CLOSED 29/4/88


D)    Fortran Forum - November 1987

      Income
         Delegate Fees              7800.00
         Sale of draft
             standards               360.00

                                    8160.00

      Expenditure
            Printing of draft
              standards             2040.00
            Hire of room etc.       1714.25
            Misc. Expenses           893.81
            BISL fee                2633.50
            Speakers' travel
              expenses               328.30

                                    7609.86

      Nett Surplus to Current Account                                    550.14

T.M.R. Ellis
Treasurer

15th June, 1988.

Appendix B



To: Fortran Forum, BCS, NAG, etc.

From: John Reid

Date: 16 May 1988

Subject: X3J3 meeting in Urbana


Note: This is a personal report on the meeting and in no sense does it

constitue an official record of it


1.        Summary


For the moment, the Committee is in deadlock. All formal proposals

require that at least half the Committee members (21) vote 'yes' and

that there are at least twice as many 'yes' votes as 'no' votes. We

need a proposal (or rather set of proposals) that will not be

unacceptable to a third of the members because it removes too much of

the present language or unacceptable to a third because it does not

simplify the language enough.


The Chairman has charged members to prepare proposals for the next

meeting that aim for acceptability to two-thirds of the members. I

will be preparing one such proposal jointly with Brian Smith of

Argonne.


2. Public Comments


377 letters from the public have been formally registered, a 4 inch thick

pile of paper. The quality varies enormously, from a duplicated DECUS

letter to long letters from people who had clearly read the draft

carefully. Three quarters of them were available before the meeting

and the remainder were copied at the meeting. The recurring themes

are:


(l) The language is too complex.

(2) Dislike of the deprecation of COMMON and EQUIVALENCE.

(3) Wish for INCLUDE, bits, and (to a slightly lesser extent) pointers.


There was an alarming tendency by some Committee members to count the

letters as if they were votes. For example, the number of letters in

favour of modules was compared with the number that suggested their

removal. A simple count does not take into account how carefully the

writer has considered the topic and those in favour of a feature may

say nothing about it simply because they do not know that it under

threat. I think we must do our best to respond to themes, but also

take good ideas into account even if suggested by only one person.


3. Responding to public comments


The Chairman hoped that, by the last day of the meeting, the Committee

would agree on those changes that have a major impact on the

language. Most of the first two days were devoted to subgroup time for

considering such changes. Roll-call members-only straw votes were

taken on the following issues:


1a.  Amend Section 1.6 and Appendix B to remove the concept of

     deprecation (28-3-4).

lb.  Integrate deprecated features with new features (8-15-11).

2.   Add pointers (2l-6-9).

3a.  Add an intrinsic bit data type (14-l3-8).

3b.  Add bit intrinsic procedures or an intrinsic bit data type or

     both (29-1-5).

4.   Add multibyte characters (11-15-10).

5.   Remove RANGE and SET RANGE (28-2-5).

6.   Remove ALIAS and IDENTIFY (23-5-7).

7.   Simplify generalized precision (29-2-3).

7a.  Simplify generalized precision to having a single parameter with

     values 1 and 2 for single and double, respectively (l2-15-6).

8.   Add parameterized integers (6-15-14).

9.   Add vector-va1ued subscripts (16-16-3).

10.  Add stream I/O (12-11-12).

11.  Add derived-type I/O (5-27-3).

12.  Eliminate MODULE/USE (7-22-6) .

12a. Simplify MODULE/USE (18-9-5).

13.  Add INCLUDE (26-8-1).

14a. Eliminate user-defined operator overloading( ll-2O-4).

14b. Eliminate user-defined procedure-name overloading (10-14-11).


Based on these votes, the Technical Change Review Group suggested the

following package:


1. Remove the concept of deprecation.

2. Add pointers.

3. Add bit intrinsic procedures.

4. Remove RANGE and SET RANGE.

5. Remove IDENTIFY and ALIAS.

6. Simplify generalized precision.

7. Add INCLUDE.


However, when the Committee was asked how it would vote on a revised

draft whose major changes consisted of these items, the vote was

15-21-1. Those voting 'no' do not object to the items in the list, but

they want a further simplification and are concerned about the

mismatches and duplications between new and old features.


4. Presentations by commentators


All commentators are being invited to attend a meeting and address the

Committee. This time we had presentations by John Swanson of Swanson

Analysis Systems, Inc. and Loren Meissner of the University of San

Francisco.


John Swanson maintains an engineering analysis program of about

275,000 lines on 35 different systems. He is particularly concerned

about portability, reliability / quality assurance, and run-time

performance. He feels that Fortran 8x is too complex, which is likely

to lead to a long delay before sufficiently reliable compilers are

available on sufficiently many systems; also that we have not built on

current practice re bit functions, IEEE standards, COMPLEX*l6, and

INCLUDE. He likes in-line comments, long names, DATE_AND_TIME,

IMPLICIT_NONE and zero-sized arrays.


Loren Meissner supports the present overall size of the language but

feels that both bits and pointers are needed; also that significant

blanks should be introduced with the new source form - this is not

something that can wait for the next revision.


5. Procedural matters


For the first time since I joined the Committee, the

minutes were voted up by a non-unanimous vote. The members

from Harris and Boeing believed that something was missing

from the scribe notes although they were not able to say

what it was nor were willing to negotiate a change of

wording. It was, however, unanimously agreed that the

formal decisions were recorded correctly.


The IBM delegate objected to the straw votes that I have described in

Section 3 because they were prepared during the meeting and not

circulated on paper at least two weeks ahead. He was over-ruled by the

Chairman because no formal decisions were being made; rather the

committee was trying to judge its own mood on the issues e very

necessary with such a large committee. It is my opinion that not

taking these votes would have further delayed the standard by a whole

meeting (i.e. another 3 months).


I am pleased to report that these formal moves have not destroyed the

friendly spirit of the Committee at informal gatherings.


6. Other matters


As has been the case at several recent meetings, we voted up a fair

number of editorial changes, including a substantial revision of the

glossary (largely my work). The a only non-trivial proposal passed is

to disallow reference to a data object in a module if its type is

private or to a module procedure that has a dummy argument whose type

is private.


7. New members


The Committee has a serious problem over membership.  At the next

meeting there will be eight members whose first meeting was in

November 1987, February 1988 or May 1988.  The trouble is that these

new members are not familiar with the reasons for things being the way

they are and do not feel that they 'own' the document. Several

suggestions being made would reverse the policy that has been in

operation for the last five years and return to where the Committee

stood some eight years ago. I am not saying that all our decisions are

correct and that we should not alter those that give rise to wide

public disquiet. But I am worried about unstable oscillations of

policy resulting in e no standard being agreed. For example, we might

make a big reduction in the size of the language now, go out for

another round of public comments, and receive a flood of complaints

about being too conservative.


We are not helped by ANSI having relaxed the formal rules

slightly. Now anyone willing to attend meetings, not necessarily

knowing anything about Fortran, automatically becomes a member after

attending one meeting as an observer (except that each organization is

limited to one member).


8. Next meeting of X3J3


The next meeting of X3J3 will be in Jackson, Wyoming, 8-12 August. The

premeeting deadline is July 4th.



Appendix C


"ADA VERSUS FORTRAN"


    Talk by Professor Mike Delves (Liverpool University)


        Mike Delves believed that the major achievement of Fortran 8X will be

improving expressiveness compared with F77 whilst retaining compatibility. His

area at Liverpool University was originally an Algol 68 shop and switched to

Ada as the only reasonable substitute.


        Mike claimed that Fortran had developed as a language that could achieve

power but with reasonable tidiness. However eleven years for a revision cycle

was too long and Fortran 8X was arriving too late. By comparison Ada compilers

already existed and were reasonably efficient. Fortran 8X, of course, had the

big plus going for it that its user base was very large. In the case of Ada he

believed it had passed its break even point and will now take off.


        Was the F8X standard too large? In his view the answer was "No"; there

should be no efficiency problems in implementing the features 8X provided. Was

it hard to learn? That depended on the teacher. However, he did feel that Ada

was much tidier. It had a tightly defined upgrade path with a new version scheduled

every five years - the original language appearing in 1983. However, he had to

admit that the next version due this year had been cancelled! An advantage held

by Ada was that its language standard was tightly defined whereas F8X has no

defined tools for checking conformance. Ada was quite cheap now, with compilers

available for PCs for as little as £120.


        Items missing in Ada compared to Fortran included "complex", "sin or cos",

array handling (but this was a virtue in just defining a bare language - in fact

Ada was no bigger than F8X). Ada also offered very little I/O. Its elementary

functions, he believed, were better designed than Fortran.


                Analysing merits in more detail:


                Ada better - power, orthogonality


                Fortran better - extensibility, floating point, I/O, legibility of

                                 definition document

Overall there was not much to choose between them. However, at Liverpool they

had not really become fans of Ada.


        Multi-tasking was an area of missed opportunity for F8X. Ada tasks tend

to be rather verbose but Mike has not found any real problems in using this feature

However real-time programmers, for whom the language was designed, have been

reporting problems with details such as priorities in tasking mechanisms.

Hopefully some language modifications on the way should cater for these criticisms.


        He could report that Ada generics work very well. Details of the syntax

are quite convenient. What are Ada pointers like? Answer "so-so". I/O was more

difficult in Ada than Fortran, one could only deal with one object at a time.


        Generally there was no problem in getting Ada code running at least as

fast as Fortran. The latter could be written quickly but this was counterbalanced

by the fact that it took a lot longer to get programs working. The power in Ada

made it easier to write applications than Fortran. He thought Ada would succeed

because of DOD support.




"EXPERIENCES WITH ADA AND FORTRAN"


Talk by Nick Saville (consultant professional software writer)


        Nick Saville has had very many years experience working as a contract

programmer. His first language (other than assembler) was Algol 60. Soon after-

wards he learnt COBOL, a language which was to generate him more money for less

work than any other during his programming career! He has also written in BASIC,

a very boring language, which has got even worse over the years. More recently

in 1984 he learnt C from the white book and then taught himself C for fun. With

this much self-learning experience Nick can defend the thesis that if any language

is difficult to learn from a book then there is something very peculiar about it.


        Eighteen months ago Nick thought it would improve his mind to learn Ada,

which is apparently the language of the future. As he could not afford a

course he bought two books. Neither turned out to be any good so he then got hold

of the Ada standard itself and the dictionary mentioned in the Standard. For

about six months he devoted several hours each night trying to learn Ada. In

particular he looked for its supposed "top-down" syntax but couldn't find it.

Nick became impatient with his slow assimilation of the language and it occurred

to him that lots of people write programs in any language without knowing all of

it. He arranged with York University to buy some machine time on their VAX and

proceeded to write a general purpose macro expander in Ada, something he had

implemented previously in several other languages.From this experience he believes:


(l)     Ada is definitely not an easy language to learn - and if Fortran 8X

        isn't either then this should be of major concern.


(2)     Ada compilers will be of a very small family of compilers written in a

        certain way (University of Karlsruhe).


Mike Delves considered that the language definition document was not a good

starting point for learning a language. Chris Lazou said that whereas Algol 6O

and 68 were very efficient for small programs they lost this efficiency with large

ones; in Fortran by comparison its subroutine mechanisms worked more efficiently.