BRITISH COMPUTER SOCIETY - FORTRAN SPECIALIST GROUP



Minutes of Meeting held at Birkbeck College on Monday 6 June 1983


Present:   M R Dolbear       - BP International, London

P M Flanders      - ICL

Bill Flexner      - Retired

D J Holmes        - Rolls Royce Ltd; Bristol

C R Jesshope      - Southampton University

Chris Lazou       - ULCC

Heather Liddell   - QMC

Mike Nunn         - CCTA

Denis Parkinson   - QMC

T L van Raalte    - MOD

John Reid         - Harwell

Andy Swarbrick    - UMIST

M Taylor          - NCC

Dave Vallance     - Salford University

Alan Wilson       - ICL

John Wilson       - Leicester University


Address:        Chairman     - John Wilson

    Computer Laboratory

    University of Leicester

    Leicester LE1 7RH


                Secretary    - Mike Nunn

    CCTA

    Riverwalk House

    157 Millbank

    London SW1P 5RT


                Treasurer    - T L van Raalte

    Atomic Weapons Research Establishment

    Aldermaston

    Reading RG7 4PR


APOLOGIES FOR ABSENCE


Apologies were received from David Muxworthy (Edinburgh University) and

Dr J L Schonfelder (Liverpool University).


1.      MINUTES OF PREVIOUS MEETING [11 April 1983]


Correction to Section 9 (X3J3 Progress):


Line 3 should read "It had been intended to take a vote on the draft

standard in May 1985 but this date is not firm."


2.      MATTERS ARISING


i. "BRITISH STANDARD FORTRAN"


Brian Meek expressed concern with both the result of the Group's vote

on the BSI Fortran proposal called "Method of Specifying Requirements

for Fortran Language Processors" which he presented at the April

meeting and the reasons given in the minutes for the vote not being

in favour.


[Brian had asked for the Group's full support for the proposed stand-

card and that the Group should write a letter to the BSI OIS-1 Committee

noting the proposal had been made and that the Group supported it.

Brian had to leave the meeting early but the Group discussed his

proposal at some length and then a vote was taken. The result was a

rejection of the action he asked for by 5 votes to 4.  Some of those

present had considered that a batter way forward would be for Brian

to publish his proposal in a reputable journal.]


Brian reported that despite the Group's vote the OIS/5 parent committee

have approved the project as a work item so it would go ahead.  A

committee has been brought together under David Muxworthy's chairman-

ship to produce the UK standard.  It would welcome assistance from

anyone interested,  Although the working group (drafting committee)

wold be small they welcomed ideas from the Fortran community and

would particularly like to hear from people who were prepared to

comment on the draft.  First meeting of the working group would be

14 June.


Therefore please can anyone able to comment on drafts contact either

Brian Meek, David Muxworthy or John Wilson.


ii.      DOI FUNDING FOR FORTRAN COMPILER VALIDATION


John Wilson reported that he had received a reply to the letter he sent

Graham Craik of CCTA Standards Branch asking for DOI funding for a

certification scheme for Fortran 77 compilers on the same

lines as for Cobol.  Negotiations were currently taxing place

between NCC (who run the Cobol scheme) and FCTC (the USA government's

Federal Compiler Testing Centre who develop the compiler

validation suites for Cobol and Fortran and who run the tests

and produce reports . The FCTC test suite version 1 was only able to

validate the subset language but version 2.0 released in July 1982

tests the full language. Although DOI have not yet given the go ahead

to funding the scheme, NCO have reached agreement with FCTC to use

their suite. M Taylor (NCC) said that his organisation were hoping to

start Fortran validations in August or September. Because FCTC were

snowed under with work, NCC as well as validating UK compilers might

also test some American ones in this country as well. Cost of

certifying a compiler would probably be about £2000. NCC expected to

need about a week to test each compiler - say 2 days on site and 3

days producing the report.


3.  BCS BUSINESS


    i.  The Chairman was not sure what response David Fisher (Leicester

    University) had received to the letter he sent to DOI seeking funding

    for a regular X3J3 delegate but John Reid (Harwell) and Lawrie Schonfelder

    (Liverpool Univ) were now attending X3J3 meetings regularly anyway.

    M Taylor said that a NCC representative was also likely to attend future

    X3J3 meetings.


    ii. Coming BCS Fortran Specialist Group Meetings:


        Date             Afternoon Speaker            Title of Talk


 26 September 1983       Mike Metcalf (CERN)          Fortran Optimisation


  5 December 1983        Lawrie Schonfelder           Derived Data Types

                         (Liverpool University)

 27 February 1984        Steve Hague (NAG)            An update to his

                                                      previous talk on Toolpak.

 14 April 1984           AGM



   iii. TREASURER'S REPORT


   The Treasurer reported that a sum of £710.51 was still owed to the

   previous Treasurer (Mr J Roberts-Jones).  Attempts to make payment had

   not met with success. A full statement of the Group's accounts is in

   Appendix A.


   Non-BCS members are reminded that there is a £2 annual fee to be a

   member of the Fortran Specialist Group. Outstanding cheques should

   be made in favour of 'BCS Fortran Specialist Group' and sent to the

   Treasurer.


   The Group has asked BCS for its annual allocation to be increased from

   £150 to £350. (Most of the money is used for the nailing list and room

   hire.)


   iv. BCS Secretariat have written to say that in future two pages will

   be reserved in Computer Bulletin for Specialist Group activities. They

   believe that Computing has not proved an idea forum for drawing attention

   to meetings.


4. X3J3 PROGRESS


John Reid, representing the UK Atomic Energy Authority, has joined the X3J3

committee. He produces a report on their meetings for his organisation and

for the Group's benefit he summarised recent X3J3 activities which covered

event handling, derived data types, array processing, procedure calling,

construct names and structures. A complete report from John on the May

X3J3 meeting at Urbana is in appendix B. David Muxworthy also produced a

report on that meeting and because John believes that some items have been

covered more fully and some less fully by David and himself it might be best

for those particularly interested to read John's report together with pp1-4

of David's. (also in appendix B).


5. ANY OTHER BUSINESS


The Chairman reported he had sent an annual report on the Group's activities

to BCS. (see appendix C).


6.  FORTRAN 8X ARRAY FACILITIES - DISCUSSION LED BY JOHN REID


John gave the following overview of the new 8X array facilities:


a.      Specifications.


        Types:               Real, complex, integer, character,

                             logical


        Dimensionality:      Up to 7


        Assumed shape:       A(:, K)      [new feature]


        Assumed size:        A(N, *)      [obsolete ie may be deleted

                                           next time]


b.      Enquiry intrinsics.


        Eg                   EXTENT -      returns a vector whose

                                           components are the number of

                                           dimensions in each direction


                             SIZE   -      returns total number of

                                           elements


                             RANK   -      returns dimensionality


                                           [The Group believed this name

                                            could be confusing.  Perhaps

                                            NDIM might be more appropriate.]


                             LBOUND -      returns lower bound


                             UBOUND -      returns upper bound


c.      Array sections.


This feature allows users to access parts of arrgys.


        Eg                   A(*, 10)

                             A(I, -*)

                             A(2:10:2, I) - every other element

                             A(INT, 1:2)  - INT an integer array with

                                            values in range for the

                                            subscript (use is restricted).


[Professor D Parkinson (QMC) would like to see more general pointers

available than just integers.]


d.      Conformability.


The shape of an array is its number of dimensions and the extent of

each. Arrays of the same shape are said to conform. Expressions

assigned to arrays require conformability.


e.      IDENTIFY.


This is essentially a dynamic equivalence.


        Eg IDENTIFY <2:N> LDIAG(I) = A(I.I-1)


        this picks out sub diagonal of array A


[There has been some general criticism of IDENTIFY for trying to do

too much. Presently it:


        i.   defines range

        ii.  renames array

        iii. transforms linear subscript

        iv.  may be many-one (use restricted)]


f.      WHERE.


        Eg  i. WHERE (A.NE.0) A=1./A

           ii. WHERE (A.NE.0)

                           A=1./A


               OTHERWISE

                           A=C

               ENDWHERE


[There has been a problem found with transformational functions eg


               WHERE (A.GT.0) A = MATMUL (A,B)


               WHERE (A.NE.0) A = F(1./A)


For this reason transformational functions have recently been banned

from WHERE]


g.      Dynamic arrays.


Arrays can be declared with a rank but without explicit ranges for

indices.


h.      Intrinsic functions.


A large set of these form an integral pert of the new array facility

proposals.



        Eg      MERGE

                DOTPRODUCT

                SUM, MAXVAL

                SPREAD

                CSHIFT

                PROJECT


There are restrictions in passing arrays as arguments.  In general

shapes must agree on subroutine calls.


i.        FORALL


A new form of WHERE statement.


j.        SHAPE.


An intrinsic function that reshapes an array, including one

dimensional array constructors.


6.        DATE OF NEXT MEETING


26 September 1983 at BCS HQ, 13 Mansfield. Street, London W1M 0BP. In the

afternoon Mike Metcalf (CERN) will give a talk on Fortran Optimization.

Mike has recently written a book on this subject and a publication notice

describing it is enclosed with these minutes.



MIKE NUNN

30 June 1983




APPENDIX A




THE BRITISH COMPUTER SOCIETY

FORTRAN SPECIALIST Group


Receipts and Payments Account for the year ended 30th April, 1983

  (Please submit to HQ by 31st May)


£. p.    £. p.

Balance at beginning of year                          343. 02

           Bank

           Cash                                              

Add:       Receipts

           HQ Allocation                              150. 00

           Other income (Please specify)             1329. 00

           (see letter 16 May 1983)

           Total balance and receipts                           1822.02


Less:      Payments


£. p.

           Meeting Expenditure (BCS letter 6.5.83)     17. 50

           Group Mailing (BCS SGs)                    267. 89

           Secretarial

           Committee (attending Specialist Group       21. 20

           Professional (speaker)          Board)      12. 50

           Project (ANSI X3J3 Observer's Fee)          51. 54

           Other Expenditure (Recovering Forum cost)   29. 92

           (Please specify)


                  Total Payments                                 400.55


Balance at end of year - See note        below              (A)£1421.47


Note       1. The balance at the end of year was made up of:


              Bank                                    1421.47

              Cash

                                                   (B)1421.47


(A and B should agree)


Auditor's Report


I certify that the above Receipts and Payments Account for the year.... are

in accordance with the books and vouchers of the......................Group

..........................19.......   Auditor .............................

.............................. Chairman/Secretary

.............................. Treasurer



APPENDIX B


To: BCS Fortran Specialist Group and NAG

From: John Reid

Subject: X3J3 meeting 86 at Urbana, May 9-13, 1983

Date: 23rd May 1983

References:          [1] 86(2)HS/JAMS-1 Event handling proposal for S6

 [2] 86(2)DTM-1 Handling of arithmetic events

 [3] 86(9)BTS-1 Proposals for a derived data type facility

 [4] 86(6)RRR-2 Dynamic storage allocation

 [5] 86(6)JH-1 Array constructors

 [6] 86(6)JH-2 SHAPE intrinsic function

 [7] 86(6/9)JKR-1 Procedure overloading and the array intrinsics

 [8] 85(6)JKR-1 Proposals on where, pack and unpack

 [9] 85(6)JKR-2 WHERE statement

[10] 8B(8)DAH-1 Clarifying dependent processing

[11] 86(8)KWH-1 Proposal on restricting non-Fortran procedures

[12] 86(8)KHH-2 Proposal on consistent functions

[13] 85(*)PAC-1 Proposal for consistent functions

[14] 86(7)NSB-1 Construct names

[15] 86(9)JLS-2 Array processing and derived data types

[16] 86(9)JLS-1 Structure name qualification

[17] 86(6)JKR-2 Simplification of the array features

[18] 85(*)JLW-1,page 6 Metalanguage


        1.   Introduction


  This note summarizes meeting 86 of the Fortran committee and my own

role at this meeting.


  Formal votes of the committee are firm decisions (though they may

always be reversed by a later formal vote) taken only by full members

or their alternates and are yes-no votes. Straw votes are used to test

the opinion of the committee to give guidance on whether a formal vote

is appropriate and indicate whether further work on a proposal is

needed. In this case everyone in the room (members, alternates,

consultants and observers) may vote and they are usually

yes-no-undecided votes.


        2.   Event handling


  A simple proposal [1] that gives a framework for event handling was

narrowly passed (11-9). The subsidiary proposals to add SUSPEND blocks

(blocks of code that do not trigger event handling) and to add

ACTIVATE/DEACTIVATE statements (dynamic activation/deactivation) were

passed subsequently by 12-7 and 12-6.


  Several members of the committee feel that these proposals are not

the right way to go (hence the near vote) and have promised to work on

the topic and bring forward alternatives. I voted in favour because I

feel that standardized error handling is needed.


  This simple proposal does not include the definition of any actual

events, but David Muxworthy [2] discussed the possibilities and straw

votes approved the proposal that 'standard conforming processors must

implement all standard defined events'  by 14-7-12 and the proposal

that 'arithmetic events should be few and broadly defined rather than

numerous and narrowly defined' by 23-1-9.


        3.   Derived data tapes


  Derived data types will permit arithmetic statements to be written

for structures as well as for the standard data types and will make

the language much more extendable. For example it should be possible

to write a module for matrix arithmetic.


  Brian Smith's first proposal([3], page 2) was of a technical nature

and related to whether copying the text of a form declaration exactly

from one scope to another would give rise to the same data type or

whether a USE reference to the original would be necessary. His

proposal (making USE necessary if the same type is wanted) was passed

by 12-10. The narrow vote is a little alarming but I believe that most

votes were for a preference rather than a firm requirement.


  The first part of Brian's main proposal ([3], prop.2, §9.1.5,

§9.1.6) was passed by 20-5. This gives the infix notation for

operators (using extra syntax in functions involving one or two

arguments) but does not allow for generalization of assignment.  A

straw vote on the rest went 17-7-11 and time was short so Brian

decided to postpone a formal vote on it until the next meeting.


        4.   Array processing

  The far reaching proposal to add dynamic storage allocation of

arrays (see [4]) was passed by the surprising majority of 27-0. This

will mean that systems will have to support heap storage whose

presence mag well allow simplifications in other parts of the

language.


  A proposal for array constructors [5], generalizing the previous

proposal for array constants was passed by 27-0. Note that it

constructs one-dimensional arrays. A proposal to delete the intrinsic

function SEQ, no longer needed since all its functionality is provided

by the array constructor, was passed by 28-0.


  A proposal [6] for a SHAPE function to reshape arrays (including

those formed with array constructors) was passed by 26-0. It also

allows for permutation of array subscripts.


  I presented my paper [7] on 'procedure overloading and the array

intrinsics' as a tutorial and obtained straw votes of 14-8-11 in

favour of the idea of overloading procedures (allowing several

versions of a procedure, distinguishable at call time by the numbers

and types of the arguments) and of 13-7-13 in favour of including the

rank (number of dimensions) of an array as a property to be used to

distinguish between overloaded procedures.


I presented my proposal from meeting 85 for an indexed WHERE

statement, renamed to my original name of FORALL at the request of the

array subgroup. It is explained in [8] and specified in proposal 2 of

[9]. It permits indices to be introduced into array assignment

statements, with the option of control by a logical expression, and

follows the precedent of mathematical notation where indices are

introduced when necessary. The main worry of the committee at the last

meeting concerned the scope of the index, a topic that neither I nor

the array subgroup had fully considered. Our deliberations meanwhile

confirmed our original decision in favour of local scope and this was

accepted by the committee. An amendment was added to require the

logical expression to be evaluated first in case functions with side

effects are called in the course of evaluation of the expression. The

amended proposal passed by 20-5.


        5.   Procedure calling


  Dean Herington proposed ([10], prop.1,2) that interfaces must be

available if the dependent processing features of keyworded actual

arguments or generic dummy arguments (e.g. of single or double

precision) are used. This was accepted by 25-0. The same restriction

for calling array-valued functions, with consequent deletion of the

ARRAY-VALUED statement ([10], prop.3,4) was passed by 24-0.


  Kurt Hirchert proposed [11] adding restrictions to procedures

called from Fortran but written in other languages, but was defeated

by 8-15 partly because his wording is difficult to understand and

partly because it was felt that once a non-Fortran procedure is called

the program becomes non-standard anyway.


  Kurt also proposed [12] adding the concept of consistent functions

for those that depend only on their arguments. The idea is based on

Alan Clarke's suggestion [15] but Kurt made it much more complicated

by trying to allow for such situations as a first call setting up a

table of values to be used on later calls. His intent was defeated on

a straw vote of 6-21-6. I voted against, though I am in favour of

Alan's idea, because Kurt's changes made it all too complicated and

inappropriate in the environment of parallel processing provided by

the array facilities (but see end of §8 below).


        6.   Construct names


  Walt Brainerd suggested [14] that constructs such as DO blocks be

namable by placing an alphanumeric name ahead of the first statement

and behind the last statement. The committee liked the idea (straw

vote 17-3-10) but it was not proposed formally.  A straw vote on a

similar way for labelling intermediate blocks (such as ELSE IF) was

undecided (12-13-4).


  7.   Structures


  Lawrie Schonfelder gave his papers [15] and [16] as a tutorial. A

straw vote on extending parameterization (currently available for the

precision and range of reals) to derived data types was favourable

(15-3-13) and there was also a favourable vote (16-5-11) for a simple

aggregation mechanism as well as the derived data type facility. There

was much discussion and no resolution of the problem of whether

substructures should be referenced top-down (structure.field) or

bottom-up (field.structure). The basic problem is that current Fortran

has subscripts after array names (top-down) but 'fastest moving'

subscripts first (bottom-up). If an array A is declared for a type

associated with a structure containing a field B which is an array

then with bottom-up structure naming B(1:10).A(1:20) mag be regarded

naturally as an array of extent (10,20). This was Lawrie's suggestion

and it was clear that the committee needed time to consider it

further. A straw vote on the principle was favourable (25-2-6). It was

also agreed (25-3-1) that it would be preferable to replace the

character '.' in substructure names to avoid ambiguity in expressions

such as A.OR.B, but there was no agreement on its replacement. The

favourite was '__', followed by '@'.


        8.  Array subgroup


  I attended all the meetings of the array subgroup.  Discussion

centred on the details of the proposals put to the full group later in

the meeting (see §4 above) and on my paper [17] on simplifying the

array facilities. The group approved of the idea of removing reverse

section selectors and I will be writing a formal proposal for the next

meeting (it will be named 87(6)JKR-1). It will allow further

regularization so that sections of the form '(*)' become '(:)', i.e.

indexed sections with upper and lower limits defaulted to the

corresponding array extents.  It also approved of the idea of moving

'elemental' declarations to the called function and I will be writing

a proposal on this (to be called 87(6)JKR-2). I will need rules to

make the function consistent so this will put a 'foot in the door'

towards Alan Clarke's wishes [13]. The array subgroup is also

sympathetic towards null arrays, so I will be writing a proposal on

this too (to be 87(6)JKR-3).


        9.  Documentation


  S6 (changes with respect to F77) has not been updated since the

last meeting. The person who used to handle it has left the committee

and did not send the tape to the new person. It is planned to produce

one more S6 incorporating the changes passed at meetings 85 and 86.


  S7 (merge of S6 and F77) is huge (about 1.5 inches thick).


  Jerry Wagener proposed a minor addition [18] to the metalanguage to

be used in S7. It is a very readable version of BNF and was accepted

by 21-0.




REPORT ON ANSI X3J3 COMMITTEE MEETING

 CHAMPAIGN-URBANA, ILLINOIS, MAY 9-l3 1983


by David Muxworthy


[This report was originally written for EWICS.  Only the first four pages

were reproduced in these minutes.]


Summary


The EWICS proposals for minimal event handling were adopted, on

the understanding that the proposals needed considerable

modification and extension to make them acceptable to all X3J3

members and more useful to Fortran programmers. There were

a large number of other formal votes, mostly on relatively

minor matters except that derived data types were adopted.

It is still proposed, subject to editorial work proceeding

satisfactorily, to vote at the August X3J3 meeting on the

S7 document as a basis for future work.


Administrative Matters


Walt Brainerd and Lloyd Campbell were appointed editors of

S7; Jeanne Martin was appointed alternate international

representative; Neldon Marshall was appointed alternate

secretary. Joel Clinkenbeard was made responsible for

collating and pursuing all external comments on technical

matters. A meeting will be held at Fort Collins, Colorado

on July 11 and 12 to discuss reorganisation of TC97 so far

as it affects SC5.


A ten page summary of the S6 document (proposals approved so

far) is to go to CBEMA and will be publicised generally.


Future ISO Fortran Experts Group meetings are planned for

Geneva in April 1984 and Bonn in April 1985.


The next X3J3 meeting will be on August 8-12 at Los Alamos,

New Mexico (August 8 at Los Alamos Laboratory, August 9-12

at Los Alamos Inn). Papers for the pre-distribution must

reach Dick Hendricksen of Cray by Tuesday July 5, with a

note stating that they are for the distribution. Motel

reservations should be made through Los Alamos Laboratory,

not directly with the Inn.


Future meetings are planned as follows:


November 14-18 1983        Seattle, Washington

February       1984        Austin, Texas

May            1984        Boston, Massachusetts

August         1984        Jackson, Wyoming or Estes Park,

                           Colorado

November       1984        Fort Lauderdale, Florida


Technical



Event Handling


The three EWICS proposals contained in paper 86(2) HS/JAMS-l,

with minor last minute revisions made by Cees Ampt and

David Muxworthy, were formally adopted. A copy of the scribe

notes taken for the X3J3 minutes is appended to this report.

These notes were largely a vote for EWICS TC-l to continue

the work rather than an acceptance that the proposals were

complete. There was strong opposition to the proposals.

It would be advantageous to rewrite them for appearance in

the S7 document.


There was also a tutorial on arithmetic event handling by

David Muxworthy. There are problems with this because of the

wide varieties of hardware on which the Fortran standard must

run. Straw votes and discussion showed that the committee

were in favour of broadly defined arithmetic events, such as T

"numeric error" and saw a need to detect that an event had

happened only at the end of a set of statements, not necessarily

at the point of the event. Also, it seemed clear that many

did not want underflow to be a necessarily captured system-

defined event.



        Array subroutine items


The main item was adoption of the ALLOCATE statement which

allows subroutine libraries to declare local arrays and to

retain values between calls (Paper RRR-2 with lower bound

specification removed. Approved 27-0). Minor clarifications

were voted on as follows: paper RRR-l, approved 20-0; RRR-3,

24-0; JM-4, 26-0; JM-3, 28-0. The FOR ALL statement was

approved 20-5 subject to further work being done on the possible

side-effects of having only a local scope for variables (paper

JKR-2).


        Control structure and program unit items


Paper KWH-1, which aimed to restrict non-Fortran procedures in

a standard conforming program was defeated on a formal vote

8-15. A subsequent straw vote on approval of the intent of

the proposal was 14-l0-7. A more refined straw vote gave:

need stronger proposal 2, need this 7, need weaker (or no)

proposal l2, undecided 9.


Paper KWH-2, which aimed to define consistent functions, was

defeated in a straw vote 6-21-6 and was withdrawn. A con-

sistent function would always produce the same result from the

same arguments, perform no input-output and have no side effects

However, too many X3J3 members said that it was an unworkable

idea in practice.


Paper KWH-3, which aimed to harmonize old-style DO loops and

new-style DO loops, had proposals 1 to 3 adopted 21-2, 22-0 and

19-6. The latter allows EXIT and CYCLE to apply to Fortran 77

DO loops! X3J3 obviously thought there was too great a risk

of confusion if these proposals were not approved. However,

the line was drawn at introducing a real DO index for the new-

style DO as a deprecated feature. This was defeated on a

straw vote 11-19-1 and was withdrawn.


Paper WSB-l was discussed. This allows construct names to

appear where a label would normally be placed. A straw vote

on proposal 1 was 17-3-10; a straw vote on the concept of

naming intermediate statements (ELSE, CASE etc.), mainly for

compiler checking purposes, went 12-13-4.


A paper by Dean Herrington formalising some concepts of

dependent compilation was approved 25-0 (proposals l and 2)

and 24-0 (proposals 3 and 4).


        Numerical and data type items


John Reid introduced a paper, JKR-1, which would allow over-

loading of procedures through a "generic block". This

would allow the array intrinsics to be put in a bundle.

Some indecisive straw votes were taken, 14-8-ll on overload-

ing procedures with optional and keyword arguments, 13-7-13

on rank being used to distinguish between overloads.


Paper JLS-l proposed a separator for use between a structure

name and a field name. Voting on which character was

"acceptable" was:


?   2     %   0     !  14     ..  13     -  14     _  12

::  9     @  16     '_ 12         13     __ 20



A vote where each person could vote for two possibilities

only (after eliminating the lowest three) gave:


:   7     ..  4     -   9     _    3

@  16     ._  3         5     ___ 16

 

A final run-off gave: @ 11, ___20


but a formal vote could not be taken because insufficient

notice had been given. The preferred characters __ would

require the restriction that _ not be the last character in

a name. (I would prefer that _ not be considered as a

letter at all.)


Paper BTS-1, defining operators for derived data types, was

approved. A straw vote on proposal 1 (only one place for

form declaration) was 15-9-12 and approved by a formal vote

12-10. Votes on using functions to define operators and

subroutines to define assignments went:


functions and subroutines rather

than new statements                        18-9-8

functions overloaded to define

operators                                  23-4-8, formal 20-5

subroutines overloaded to define

assignment                                 17-7-11


Paper JLS-2 addressed the potential confusion of FORM being

used both to define a derived data type and a simple aggregate

A straw vote 16-5-11 requested further work on this. A vote

15-3-13 related to requesting a new proposal on derived data

types specification.


Kulisch and Ulrich gave a presentation on their arithmetic

proposal. After complaints earlier in the week within

subgroup 9, the presentation was much clearer than the

paper in the distribution. A straw vote on the ultimate

destination of the proposal gave:


in the language                       2


in a standardised language

extension module                     11


in an arithmetic support

bundle                               11


undecided                             4


Kulisch and Ulrich were disappointed with this as apparently

they had expected the proposal to get into the full language.

The distinction between the second and third possibilities

is important. Anything in a standardised module may be

implemented as if it were a part of the language with obvious

consequences for efficiency. The arithmetic support bundle

may not.



        Input-output items


FMT=** was formally adopted as the name-directed format

specifier 22-0, after ?, <> , +*, *+ had attracted little

support (paper JB-3). Paper JB-2, clarifying IOSTAT and

ERR in OPEN, was approved 21-0. The subgroup was asked

to investigate the problems of making BN the default for

internal files and in declaring BZ a deprecated feature

for all files.


        Documentation


The simple metalanguage described in paper JLW-l was approved

27-0 in a formal vote on condition that the metasymbols be

printed in a different type face.





APPENDIX C



SPECIALIST GROUP ANNUAL REPORT


YEAR ENDED 3O APRIL 1983



Name of Group        FORTRAN


No. of Members         145


No. of BCS Members      85


No. and type of regular meetings: 5 meetings per year, mostly at BCS

Headquarters or elsewhere in London. Average attendance 18.


Format: whole day meetings: morning - business and X3J3 activities; afternoon

seminar by invited speaker.


Studies undertaken: Monitoring X3J3 activities; review of Fortran 77 compilers.


Publications: Article in DataLink and ACM FORTEC FORUM by A. Clarke - "the

future of Fortran".


Relations with other bodies: Liaison with ANSI X3J3, BSI and ISO language

standards committees.


Other activities:                       /        


Election of Officers:        for 1983/84 at AGM on 11th April 1983

                             Chairman: J. D. Wilson

                             Secretary: M. Nunn

                             Treasurer: T. L. van Raalte


General Remarks                        /      


Projects for next year: Direct two-way reports from X3J3 via regular members

of both groups. Representation at next ISO Fortran Experts Meeting in

W.Germany early 1984.



Chairman: J. D. Wilson


(Signature)  J.D. Wilson