Minutes of BCS Fortran Specialist Group Meeting

                      held at BCS HQ on 21st January 1988


Present:       Stephen Clarke     -    Inmos

               F.E. Cox           -    Swifte

               R.G. Crawford      -    RAE Pyestock

               J.L. Dyke          -    H.R.C.

               W. Flexner         -    Retired

               Mike Geary         -    NAG

               Dave Griffiths     -    SF

               Carol Hewlett      -    LSE

               Peter Holland      -    SSL

               Chris Lazou        -    ULCC

               Clive Massey       -    SWURCC

               Alastair Mills     -    Cray Research

               Keith Normington   -    Coventry Polytechnic

               Mike Nunn          -    CCTA

               Kevin Pritchard    -    UMIST

               N. Smith           -    RAE Bedford

               Julian Tilbury     -    University of Salford

               Paul White         -    Met. office

               Alan Wilson        -    AMT

               John Wilson        -    University of Leicester

               John Young         -    MOD (PE)


1. Apologies for Absence


        Apologies were received from Miles Ellis, David Muxworthy and John Reid.


2. Minutes of Previous Meeting [1 October 1987]


        The minutes of the previous meeting were accepted without revision.


3. Matters Arising


        It was intended to devote the afternoon session at the next meeting in

April to talks comparing Fortran with Ada. Professor Mike Delves of

Liverpool University was suggested as a speaker. Members were reminded

that this meeting would also be the AGM.


4. BCS Business


        (i)     The chairman mentioned that a budget submission was due from our

                Group to BCS for next year's funding allocation but, as the

                Treasurer was not able to be present.he was not sure of the latest

                position.


        (ii)    BSI Response to ANSI on Fortran 8X


                Members of the Fortran Group felt unhappy that the position being

                put forward for the UK response by BSI to ANSI did not reflect the

                message which came over from the delegates attending the recent

                "Fortran Forum" in London arranged to discuss the new draft

                standard. After some discussion the chairman decided to take two

                votes.


                The first was :


                The Group should write to BSI saying that the message of Fortran

                Forum was that the UK Fortran community's response to the new draft

                was "Yes with comments" rather than "No".


                This was agreed by a vote Yes - 14, No - 0, Abstain - 7.


                The second was :


                The Group should write to CBEMA independently of BSI (CBEMA acting

                as ANSI's secretariat) expressing the BCS Specialist Group's view,

                and saying that we would like the votes taken on accepting the new

                standard at the Fortran Forum and by this meeting taken into

                account.


                This was agreed by a vote Yes - 18, No - 0. Undecided - 3.


                A third vote was taken on whether those present were broadly

                speaking in favour of the draft standard as it is now, subject to

                minor editorial changes, rather than experiencing delay of a few

                years which would be necessary to get new features in.


                The vote resulted: Yes - 12, No - 6, Undecided - 3 in favour

                of the draft.


                [Chairman's note: after consultation with various members of the

                group the letter copied in Appendix A was sent to CBEMA.]


        (iii)   The chairman noted that the BSI publication "British Standard Method

                for Specifying Requirements for a Fortran Language Processor" was

                now officially released as BS 6832:1987 and costs £25.60


5. Fortran 8X - Progress Report from X3J3


        (i)     John Reid has produced a report on the recent meeting of X3J3 in

                November at Fort Lauderdale (see Appendix B). Not much reportable

                activity had taken place: there was an embargo on new work items and

                the committee was waiting for the results of the public review of

                the 8X draft standard.


        (ii)    Apparently, the Fortec Fortran newsletter has a useful summary of 8X

                for those who are interested.


        (iii)    A new standing document with the title of "Journal of Development"

                had been published. Initially this would contain Appendix F of the

                8X draft which describes those features originally considered for

                inclusion in 8X but which had eventually been left out.


6. Fortran Forum


        John Wilson. our chairman. had produced a summary of "Fortran Forum"

held in London in November which had been sent out to Group

members. David Muxworthy had also produced a paper circulated to

members of the BSI Fortran Panel. 152 people attended the Forum. The

final accounts are not yet in but it is believed a profit of a few

hundred pounds has been made. We have a few surplus copies of the 8X

draft standard which are being offered at £15 a copy. Anyone who would

like one should contact Debbie Dawson at BCS HQ.


        David Muxworthy has produced a report on Fortran Forum as part of his

quarterly report to the BSI (a copy is attached in Appendix C). The

Forum demonstrated that people were basically happy with 8X but wanted

their pet features put in. In general they also felt the language was

not too large. Miles Ellis was congratulated on doing an excellent job

in co-ordinating the written questions put at the meeting. Over 100

comments on the draft had been received from attendees and would be

passed on to X3J3.


        The BSI Fortran Panel has produced a composite of UK views, especially

taking into account the opinions expressed at the Forum, and will send

this direct to the ISO convenor, Jeanne Martin, and also to X3J3.

Replies to individual comments will come back to the BSI panel, who

will pass them on to the originators. Because of the large volume of

comments it will probably take X3J3 about 6-9 months to respond to

them all.


        John Wilson reported that the ISO voting procedure allowed BSI three

alternatives to choose from when voting on the 8X draft viz:


                        Yes, without comments

                        Yes, with comments

                        No, with reasons


BSI thought it could not choose the second of these because it would imply the

document was basically OK. whereas in fact it was considered too flawed to

accept without significant changes.  It would therefore vote "No". but would

change its vote to "Yes" if 6 objections were met, viz:


- include bit manipulation facilities

- include pointer facility

- specify action to be taken if processor cannot satisfy requested

  precision for Reals,

- remove SET RANGE and RANGE

- remove ALIAS and IDENTIFY

- correct typographical errors


As well as the six "mandatories" for inclusion, the BSI panel also

listed "highly desirable" features, including runtime error reporting

and facilities for handling radices other than 10, and "desirable"

features, including stream I/O and significant blanks, which it wished

to see included. In addition, it listed "good things" which it would be

opposed to the review taking out.


        Several of our members at the January meeting were unhappy with the

BSI response.  Chris Lazou thought that the "Fortran Forum" message

was "let's get on with 8X" and a "No" vote did not reflect this. Keith

Normington wanted to send a statement to BSI saying that we believed

that their position was too rigid and severe, and did not reflect the

Fortran community's position. Such a letter should quote that a straw

vote taken was "Yes with comments". Chris Lazou believed the general

feeling was that, although many would like to see extra features in

8X, people would rather forgo these if it meant significantly delaying

the appearance of the new standard.


7. Any Other Business


        The secretary asked for suggestions for talks at future meetings.

Responses included:


        Fortran on a Network

        Automatic Vectorisation

        Expert Systems

        Fortran on Multi-Processors

        Tools for Fortran debugging on highly parallel computers


8. Date of Next Meeting


        The next meeting of the Group will take place on Tuesday 19th April at

BCS HQ. In the afternoon Professor Mike Delves will give a talk comparing

Fortran with Ada. There will also be a short talk by Nick Saville on his

experiences in programming in Ada. The meeting will include the AGM.


9. Talk "The Array Processor Features in Fortran 8X" by Alan Wilson (AMT)


        At the afternoon session Alan Wilson (Active Memory Technology) and a

member of the 8X committee gave a talk on the new array processor features in

8X. Alan said that the X3J3 array extensions sub-committee's first thoughts

were to do "mathematical things" like MATRIX A + MATRIX B = MATRIX C in Fortran.

Examples of other things they wanted to include were :


        geometric subsets, such as diagonals of matrices,

        adding up array elements,

        functions returning arrays.

        finding the largest element in an array.


All these features will be available in 8X. An important concept is "array

aliasing", giving some subset of an array a name, then operating on it as if it

was a l-dimensional array. Another idea was "array sections"


e.g. (A:,3) - here the third column of array A if referenced.


Other examples of new features :


        (i) unconditional array assignment


                A = B + C + SIN(D)

                        ... where A,B.C.D are the same shape


        (ii) unconditional array computations


                A = B + C


        (iii) conditional array assignment


                WHERE (A.GT.0) A = B 

                        ... replace positive elements of A with corresponding

                                elements of B


        (iv) largest array element


                L = MAXVAL (P)


        (v) reduction


                e.g. reduce elements of an array to one scalar sum or

                        multiply all elements together


(vi) construction


                e.g. merge two arrays together


10. Talk "Implementation of Array Processor Extensions in Fortran 8X by Cray

Research" by Alastair Mills of Cray Research (UK) Ltd.


        Also at the afternoon session Alastair Mills of Cray Research

(UK) Ltd.  gave a presentation on Cray's plans for implementing the 8X

array feature extensions. Alastair works for the Technical Support

Group in the UK. Cray expect to implement the new array extensions in

a timely manner by around 1989. Cray wrote their new Fortran compiler

CFT77 (which superseded CFT, also Fortran77) in Pascal in 1985. It has

the advantage that by changing the front-end it can be used for

implementing languages other than Fortran. It includes features for

auto-partitioning code for multi-processor systems.


A copy of the slides of Alastair's talk appears in Appendix D.


Mike Nunn, Secretary.

4th March, 1988



                                  Appendix A

                                                            February 16, 1988

X3 Secretariat

C.B.E.M.A.

3ll First Street N.W.

Suite 500

Washington D.C. 20001 - 2178

U.S.A.


Dear Sir,


The Fortran Specialist Group of the British Computer Society wishes to

make some general comments on the draft Fortran standard (document

X3J3/S8.l04) in addition to the specific comments supplied by

individual members.


The following comments are based on a public forum held by the group

on the 23rd November 1987 and an open meeting of the group held on the

21st January 1988. A set of individual points made at the forum has

already been sent to you.


1. The group expresses appreciation to the members of the X3J3

committee for their work in producing the draft standard. It feels

that the proposal is broadly in line with the requirements of current

and future users and urges the committee to proceed to a full standard

with all due expediency. The following features are particularly

welcomed and should not fundamentally be changed:


        - language evolution concept

        - new source form

        - derived data types

        - array features

        - control constructs

        - internal procedures

        - procedure interface structure

        - recursion

        - module concept.


2. The draft document is not excessively long in its present form.


3. A bit manipulation facility is essential: a set of intrinsic functions will

   be adequate.


4. A pointer facility is considered important but not if it causes significant

   delay to the standard.


5. Some simplification and revision of the facilities for allocating different

   names to parts of arrays is considered important.


6. The action to be taken by a processor when the required precision cannot be

   satisfied must be specified by the standard.


7. The parameterization of integers, as well as reals, should be allowed.


8. Format codes should be available for octal and hexadecimal I/O conversion.


9. The stated rules relating to language conformance are welcomed. but should

   be extended to allow the user to request the detection and reporting of

   common run-time errors.


Yours sincerely,

J.D. Wilson

Chairman, BCS Fortran Specialist Group



                                 Appendix B


To: Fortran Forum. BCS. NAG...

From: John Reid

Date: 24 November 1987

Subject: X3J3 meeting in Fort Lauderdale


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

constitute an official record of it.


1. Summary


This meeting was primarily concerned with agreeing responses to

comments made by X3 members with their ballots.  In addition, some

editorial changes were agreed, as were some minor technical

corrections. A decision was made not to work on major proposals at

this time in order to concentrate on improving the present draft.


2. Editorial matters


Eleven papers containing minor editorial corrections were adopted, all

by unanimous votes, and a rewrite of the description of DO was adopted

with just one no vote. A rewrite of the description of the new source

form was generally welcomed but was not moved because its

interpretation of the exact meaning of the 2640 character limit for

statement lengths was not found acceptable.


3. Journal of Development


It was agreed (18-12) to establish a new standing document called the

Journal of Development. Initially, it will consist of the contents of

Appendix F of the draft standard. Other technical material that is

developed by the Committee but is not adopted for the standard may, by

a separate vote, be adopted for this document. This will give well

developed proposals a chance to stand out rather than be lost in the

mass of the minutes.


4. Items from ISO


One of the ISO resolutions expressed concern over the use of '[' and

']' in array constructors because they are not available in the ASCII

sets of some European countries.  A proposal to rely entirely on the

alternatives '(/' and '/)' failed (16-10) (a 2/3 majority is

needed). George Paul promised to prepare a proposal using function

notation.


Another ISO resolution commented on the status of a saved variable in

a procedure with arguments having passed-on precision. A clarification

was adopted (29-0) that such a saved variable is not duplicated but

rather is accessed by all the versions of the procedure.


5. Fortran binding to the data-base language SQL


Last summer. committee members were asked to vote as individuals on a

document produced by ANSI Committee X3H2 on language bindings for

SQL. There were 19 yes votes, 3 no votes, 4 abstentions, and 12 did

not vote. The no votes (one of which was mine) all gave reasons and

comments were attached to one yes vote and one abstention. Informally,

X3H2 sent its replies to all these comments and asked for a committee

position. The no voters were unsatisfied and the committee felt that,

having been balloted as individuals, it was inappropriate to respond

as a whole. My no vote was based on a potential syntax ambiguity once

SQL is embedded in Fortran 8x and I suggested a very simple change to

remedy this. X3H2 acknowledged the problem but refused to do anything

about it because "it was felt that the situation would occur only

rarely". How's that for an attitude towards safe programming?


6. Work on major technical proposals


Concern was expressed that working on major technical proposals such

as bits, pointers, or very large character sets detracts from checking

the present draft for consistency with Fortran 77, internal

consistency, and general quality. Work on such major proposals is

pointless if there is no prospect of getting the necessary 2/3

majority vote. In a straw vote, the committee was asked whether it

preferred


(1)     No new technical work, with the goal of avoiding a second public

        review.


(2)     By separate votes to establish working groups for major technical

        work and terminate other major work.


(3)     No such freeze.


(4)     Undecided.


The vote went 17-13-9-3 and without item (3) it went 16-24-2. Formal

roll-call votes were then held under (2) for pointers (18-10), bits

(16-13), and very large character sets (14-13). Since none achieved a

2/3 majority, the chairman announced that no work on these topics

would be placed on the agenda of the February meeting.


7. Rules for membership


In future, a new member will be appointed at the end of a meeting,

which avoids giving a new member superior voting rights over an old

member who has missed two meetings.


8. Public comment


The public comment period runs until February 22nd.  The draft

standard is available from Global Engineering Documents Inc. by

calling (714) 540-9870 and the price is $50 (US) or $65 (overseas).

Comments should be sent to X3 Secretariat, Computer Business Equipment

Manufacturers Association, 311 First St. N.W.. Suite 500. Washington DC

20001-2178. USA. Within the UK, comments may also be sent to BSI Fortran,

1 Roxburgh St. Edinburgh EH8 QTA (or electronically to
BSI_Fortran@UK.AC.Edinburgh) by January 9th; these will be used to form the

UK position within ISO and will also be forwarded to X3.


9. Next meeting of X3J3


The next meeting of X3J3 is in New Orleans, February 8-12. The premeeting

distribution deadline is 4th January.



                                   Appendix C


           FORTRAN PANEL: BSI IST/5/5 Quarterly Report: December 1987


BS6832:1987 "British Standard Method for Specifying requirements for a FORTRAN

language processor", originally estimated for completion in November 1987 has

not yet appeared.  The price will be £25.60.


The Panel has nominated David Muxworthy and John Wilson as principal members of

SC22/WG5, with Miles Ellis, Brian Meek, Lawrie Schonfelder and David Vallance

as alternates.  Other members of the panel recently registered with Elaine

Butlin are Tony Addyman, Sven Hammarling, Les Hatton and Fred Hopper.


The Fortran 8X proposals are currently open for public review both as a draft

ISO standard (87/94274, SC22/N361 and 87/97462, SC22/N423), closing date

January 29, 1988, and as a dpANS, closing date February 23, 1988.  ANSI have

transferred the copyright in the draft standard to Global Engineering Documents

Inc of Washington, who sell it for $65 outside the US.  This has caused unease

in the Fortran community as it is believed to have inhibited circulation and

comment.


The Fortran Specialist Group of the BCS, in conjunction with the BSI Fortran

Panel, held a Forum in London on November 23 at which a summary of the Fortran

8X language was presented and the proposals discussed; a copy of the ISO

proposal document was provided to all participants.  Some 150 people attended

and about 100 written comments were submitted; these have been entered into a

data base and will forwarded to ISO. In addition, the public have been invited

to send written comments to the IST/5/5 convenor; so far three people have

submitted some 30 pages of text in all.  If the material stays within

manageable bounds it will be entered into a database and merged with the Forum

comments. The deadline for comments within the UK is December 31 and the

Fortran panel will process the comments during January.  Various other forums

arranged by members of X3J3 and members of the BSI panel are also being held.


The general tenor of the November 23 Forum was that by and large people were

happy with the proposals but many wanted their favourite feature (eg type BIT,

pointers, INCLUDE, DO WHILE, alphanumeric labels, byte integer) added.  Most

notably the principal criticism by the opponents within ANSI X3 and X3J3, that

the language is too large, was rejected.  The straw votes taken at the end of

the meeting resulted as follows.

                                                             Y  N  U

       type BIT in the language                             56-37-27

       BIT intrinsic functions                              56-18-32

       some form of pointer facility                        54-38-18

       blanks should be significant in new source form      33-38-35

       format codes for integers radix 2,8,10,16            62- 5-32

       committee should investigate multi-byte characters   16-34-53

       stream i/o in the language                           44-23-33

       varying length strings in the language               36-26-37


       is the language already too large?                    9-86- 3

       would you prefer to see the final standard based

       on the proposals as now, or would you like to see

       a delay of 2-3 years to get in BITs, pointers,

       stream i/o etc                                       57-45- 3


                                                           David Muxworthy

                                                           IST/5/5 Convenor



                                   Appendix D


                                                                  IMPLEMENTATION OF

                                                       ARRAY PROCESSOR EXTENSIONS

                                                                                    IN

                                                                          FORTRAN 8X


                                                                            Alistair Mills

                                                                 Cray Research (UK) Ltd


                                                            BRITISH COMPUTER SOCIETY


                                                                        21 January 1988


[The 26 slides for this talk have not yet been digitized]