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
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.
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.
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