British Computer Society - Fortran Specialist Group


Minutes of Meeting held at BCS Headquarters on Tuesday 27th May 1980


Present:    G. L. Harding (Chairman)     ECMWF

P. A. Clarke                 Rothamsted Experimental Station

B. Ford                      NAG

W. S. Hilder

D. T. Muxworthy              Edinburgh University

C. Queree                    Martin and Voorhess Associates

J. Roberts-Jones             Liverpool City Council

K. Scott                     CCTA

B. T. Smith                  Argonne National Labs., USA

D. M. Vallance               Salford University

T. L. van Raalte             MOD

J. D. Wilson (Secretary)     Leicester University


1. Minutes of Previous Meeting [31 March 1980]


        The minutes were approved.


2. Matters arising


        A. Clarke reported that the "Completeness Module" proposed has been

revised since the May meeting of X3J3 (see below).


3. Financial Report


        J. Roberts-Jones was formally elected treasurer for the 1980/81 session.

(Proposed - G. L. Harding; seconded - T. L. van Raalte.)


        The treasurer presented the statement of accounts for the year ending

30th April 1980 (Appendix A). It was noted that expenditure was down over

the previous year, mainly due to there being one fewer mailing. However, the

treasurer pointed out that postal rates have increased, the mailing list is

growing again and the group is being charged a high rate for refreshments.

It was questioned whether overseas members were receiving their copies of the

minutes air mail.


        The following resolutions were passed.


  (i) RESOLVED: That the Treasurer's accounts for the financial year 1979/80

        be approved.


 (ii) RESOLVED:

                (a) That an account be opened in the name of the Group with Lloyds

                    Bank Limited;

                (b) That all transactions in respect of the account be authenticated

                    by any two of the Treasurer for the time being, the Chairman for

                    the time being, the Secretary for the time being; and authorised

                    signatories of the Society's main accounts;

                (c) That the Chairman.Secretary and Treasurer be authorised to issue

                    such instruments as may be required to give effect to this

                    resolution, such instruments being deemed to form part of the

                    minutes of this meeting.

(iii) RESOLVED:

                (a) That the Group's account with Barclays Bank Limited be closed

                    on 30th June 1980;

                (b) That the balance at that date be transferred to the Group's

                    account with Lloyds Bank Limited;

                (c) That the Treasurer be authorised to issue such instruments as

                    may be required to give effect to this resolution, such

                    instruments being deemed to form part of the minutes of this

                    meeting.


4. X3J3 Activities


4.1 Report from May Meeting


        B. Smith reported on the latest meeting of X3J3 (May 12th-16th 1980)

as follows.


Macro facilities: committee felt the current proposal too complex.


Precision proposal: (see Appendix B) tabled for next meeting.


Completeness module: see 4.2 below.


Core + modules: the criteria for the core still not clear. It was agreed

that Applications Modules will not be discussed by the full committee.


Exception handling: the needs of Data Bases are to be represented.

A proposal has been made.


Character Data Types: a proposal to allow varying lengths up to a

stated maximum was passed.


A proposal to charge a "participation" fee and minutes distribution fee was

made by ANSI. This has not yet been approved.


4.2 Completeness Module


        B. Smith said his general impression was that the committee did not

understand the proposal. They felt it would be impossible to specify and

implement such a module and therefore the onus lies on the author(s) to show

the contrary. There was, however, some sympathy for the concept of a

Completeness Module from several members of X3J3 and it was suggested that the

author(s) should make a more detailed proposal based on Fortran 77. Any proposal

which appears in the Minutes of X3J3 before August 1980 can be considered for

the next standard: the Completeness Module has satisfied this condition.


        Some questions asked were: "does it affect efficient code generation,

which some Fortran users require at all costs?" and "will it restrict new

features?" A. Clarke replied that the Module would be an option which could

be turned on or off by the user.


        Some of the ideas in the Module have been addressed elsewhere,

e.g. PFORT Verifier and the WATFIV compiler.


        It is hoped to gain further support (preferably non-British) for the

Completeness Module at the ISO meeting in Amsterdam (October 2Oth-23rd 1980).

B. Ford said that NAG would be happy to referee a re-write of the document

if required.


        A full report of X3J3's discussion has been addressed to A. Clarke by

A. Wilson.


5. Other Fortran Group Activities


5.1 ISO Fortran Experts Meeting (Amsterdam, October l980)


        British contributions have been offered by:


                J. Reid, Harwell - Numerical Precision

                A. Clarke, Rothamsted - Completeness Module

                J. du Croz, NAG - Environmental Parameters


Any other interested person should contact D. Muxworthy as soon as possible.


5.2 Fortran Forum


        This is provisionally arranged for Friday October 24th 1980 (immediately

after the ISO Experts meeting), probably in London. G. Harding and

J. Roberts-Jones are to arrange an organising committee.


6. BCS Business


        The BCS contribution to the Fortran Specialist Group's budget for 1980/81

is £135 (requested £170).


        An "Expert Systems" Specialist Group is being set up under the

chairmanship of D. Michie. It will deal with practical implementations of

Artificial Intelligence.


        It has not been possible to obtain BCS funds for a regular UK

representative on ANSI X3J3. Funds may be available for a "once only" visit if a

specific need arose.


7. Any Other Business


        None.


8. Next Meeting


        The next meeting will take place on Monday 8th September 1980 at the

BCS Headquarters. The speaker at the afternoon session will be Dr. John Larmouth

of Salford University who will talk about Portability of Fortran 77.




APPENDIX A


BRITISH COMPUTER SOCIETY - FORTRAN SPECIALIST GROUP.


RECEIPTS & PAYMENTS ACCOUNT - YEAR ENDED 30TH APRIL 1980.


BALANCE AT START OF YEAR:


        Cash at Bank                                        428.71


        Cash in Hand                                         20.00                        448.71


RECEIPTS:


        BCS Grant                                              42.40


PAYMENTS (NO VAT INCURRED):


        Meetings (Speakers' Expenses)                3.96


        Meetings (Refreshments)                        12.00


        Group Mailings                                       77.13


        Expenses at X3J3 Meeting                     57.90                     150.69


BALANCE AT END OF YEAR:


        Cash at Bank                                        298.02


        Cash in Hand                                         43.00                      341.02


I certify that in my opinion the above account is in

accordance with the books and vouchers of the Fortran

Specialist Group and that the transactions were proper

to the purposes of the Group.



                                                      G.M.GRIFFITH, MBCS, Auditor


City Treasury,                                J.M.ROBERTS-JONES, MBCS, Treasurer

Liverpool.

25th May 1980





APPENDIX B : Precision Proposal for Fortran

             Dr. B. Smith, Argonne National Labs., USA


        This paper contains the elements of a proposal submitted to ANSI X3J3

for a General Precision Data Type.


Background


        The facility should be usable by Numerical Analysts and others who

currently use Double Precision. The proposal is concerned with functionality

at this stage; syntactic details will be worked out later.


        The processor has a set of Floating Point Real data tapes distinguished

by attributes:


precision   (number of decimal digits etc.)

level       (descriptor for nature data type)

exponent range (of Floating Point numbers)

others      (e.g. Range)


Complex data type is a pair of Reals. To each Real Floating Point data type

there is assigned a unique integer called the level designator (LEVEL)

restricted to a consecutive sequence of integers beginning with 1. Each Real

data type has associated with it a processor-dependent set of attributes of

which DEC-DIGITS and LEVEL must be present. If there are more than one Real data

type, each has a distinct LEVEL. There are two distinguished level designators,

namely:


default level d

maximum level M


Proposal 1


Two data types are available:


REAL           r[.r...]

COMPLEX        c[.c...] - no storage order specified.


Default level d is used (different for different machines). Similar form is

used for the FUNCTION and IMPLICIT statements as in Fortran 77.



Proposal 2


Entities of the non-default data types may be declared by:


REAL(<ATTR-LIST>)           r[.r...]

COMPLEX(<ATTR-LIST>)        c[.c...]


where <ATTR-LIST> is a list of attributes, separated by commas, of the form

given above. It may consist of:


  (i) DEC_DIGITS = p

 (ii) more than one attribute

(iii) LEVEL = q


(i) and (ii) are minimum specifications, (iii) is an exact specification.

Any integer constant expression is permitted after =.


Proposal 3


Four intrinsic functions are provided:


LEVEL - returns level number for data type specified by the

   arguments (type INTEGER).


DEC_DIGITS - returns number of decimal digits of precision for the

   data type specified by the arguments (type REAL).


DEFAULT - returns level number for type REAL (type INTEGER with no

   arguments.


MAX LEVEL - returns the maximum level M.


e.g.

DEFAULT_PRECISION=DEC_DIGITS(LEVEL=DEFAULT())

DOUBLE=DEC_DIGITS(2*DEFAULT_PRECISION)


where DEFAULT_PRECISION and DOUBLE are variables.


Proposal 4


        Constants of different data types may be specified by optionally

following any form of a Real constant by a T and either an unsigned level

number or an attribute list enclosed in parentheses.


e.g.

1.2T(DEC_DIGITS=l0)

1.2T(LEVEL=2)

1.2T2        - short for LEVEL=2

1.2E2T(LEVEL=l)


Proposal 5


        To be consistent with Fortran 77, the types of the actual and dummy

arguments must match.


e.g.

dummy  REAL (DEC_DIGITS=10) D

actual REAL (DEC_DIGITS=9) A


The machine selects the same data type for D and A.


Proposal 6


        The intrinsic function AREAL is added (cf. AIMAG) and DPROD is redefined.


Examples


(a)         REAL(DEC_DIGITS=6) X,Y

  .

  .

  .

X=1.1(DEC_DIGITS=6)+Y


may be used with an algorithm requiring at least 6 decimal digits of

precision; or parameterised


PARAMETER (PREC=6)

REAL (DEC_DIGITS=PREC)


(b)         INTEGER PREC,DOUBLE_PREC

PARAMETER(PREC=DEC_DIGITS(DEC_DIGITS=6))

PARAMETER(DOUBLE_PREC=2*PREC)

  :

  :

REAL(DEC_DIGITS=PREC) X(l0),Y(l0)

REAL(DEC_DIGITS=DOUBLE_PREC) SUM

  :

  :

SUM=1.1T(DEC_DIGITS=DOUBLE_PREC)

  :

SUM=SUM+DPROD(X(I),Y(I))

  :


This is an example of an algorithm with 2 precisions, parameterized.

The intrinsic functions permit access to processor dependencies

abstractly.


(c)        Library Building


SUBROUTINE LINEQ(N,A,B,X)

c

c     SOLVE SYSTEM OF LINEAR EQUATIONS AX=B FOR X

c

INTEGER N

REAL (LEVEL=l) A(N,N),B(N),X(N)

  :

END


Here there is processor dependent communication between programs with

no minimum precision requirement. The advantages and disadvantages

are similar to REAL,DOUBLE PRECISION etc.


Advantages  - same source on many processors.

- source changes avoid processor constants.

- separates precision specification from processor

  specification,

- simple and familiar.


Disadvantages- processor dependent specification.

- implies separate libraries for each level version of the

  library

- specifies processor dependent communication between calling

  and called subprograms.


Alternative Proposal


  (i) Change argument passing restriction to exact match of specified

      attributes.


e.g.          Data types              Precision                Range

                   1                       6                     76

                   2                      15                     76


REAL(DEC_DIGITS=3) X

REAL(DEC_DIGITS=6) Y

REAL(DEC_DIGITS=6,RANGE=70) Z



 (ii) Add a "passed-on" attribute (or limited user-defined generic capability)

        specified by * in attribute list.


e.g.

C        MAIN PROGRAM

PARAMETER(N=10)

REAL(DEC_DIGITS=6)A(N,N),B(N),X(N)

REAL(DEC_DIGITS=12)D(N,N),E(N),Y(N)

  :

CALL LINEQ(N,A,B,X)

  :

CALL LINEQ(N,D,E,Y)

  :

END

SUBROUTINE LINEQ(N,A,B,X)

INTEGER N

REAL(*) A(N,N),B(N),Y(N)

  :

END


This can be generalised, e.g.:


REAL(*) A(N,N)

REAL(*,SAMEAS=A) B(N)


and is limited to all the same data type. It can be implemented in

several ways, e.g.:


  (i) parameterized instructions (ideal)

 (ii) subprograms with multiple pre-compiled decks.




APPENDIX C


BRITISH COMPUTER SOCIETY - FORTRAN SPECIALIST GROUP


Steering Committee


Chairman :         Mr. G.L.Harding                             (0734)85411 X319

European Centre for Medium Range

   Weather Forecasts

Shinfield Park

Reading, Berks. RG2 9AX


Vice-chairman :    Mr. P.A.Clarke                              (05827)62271 X64

Computer Dept.

Rothamsted Experimental Station

Harpenden, Herts. AL5 2JQ


Secretary :        Mr. J.D.Wilson                              (0533)554455 X165

Computer Laboratory

University of Leicester

Leicester LE1 7RH


Treasurer :        Mr. J.M.Roberts-Jones                       (051)2273911 X617

City Treasury

P.O. Box 1

Liverpool L69 2DQ


Members :          Dr. J.D.Murchland                           (01)6576478

35, Rectory Park

Sanderstead

Surrey CR2 9JR


Mr. D.T.Muxworthy                            (031)6671081 X2844

Program Library Unit

James Clerk Maxwell Building

Mayfield Road

Edinburgh EH9 3JZ


Mr. G.A.Ruscoe                               (01)2425725

Geisco Ltd.

Commonwealth House

1-19 New Oxford St.

London WC1A 1BT


Mr. T.L.van Raalte                           (07356)4111 X6461

Building D3

A.W.R.E.

Aldermaston

Reading

Berks. RG7 4PR


Dr. A.Wi1son                                (01)7887272 X4603

Room 200

International Computers Ltd.

8S-91 Upper Richmond Road

London SW 15